Интерфейс RepositoryInterface
Описывает методы, которым должен соответствовать любой класс, представляющий хранилище данных.
Краткое описание методов
-
delete() public
Удалить одну сущность.
-
deleteAll() public
Удаляет все записи, соответствующие заданным условиям.
-
exists() public
Возвращает true, если в этом хранилище есть хотя бы одна запись, соответствующая указанным условиям.
-
find() public
Создаёт новый запрос для этого хранилища и применяет некоторые значения по умолчанию, основанные на типе выбранного поиска.
-
get() public
Возвращает одну запись после её поиска по первичному ключу; если запись не найдена, метод выбросит исключение.
-
getAlias() public
Возвращает псевдоним хранилища.
-
getRegistryAlias() public
Возвращает ключ реестра таблицы, используемый для создания этого экземпляра таблицы.
-
hasField() public
Проверяет, содержит ли хранилище определённое поле/столбец.
-
newEmptyEntity() public
Создаёт новый объект сущности.
-
newEntities() public
Создаёт список сущностей + связанных сущностей из массива.
-
newEntity() public
Создаёт новую сущность + связанные сущности из массива.
-
patchEntities() public
Объединяет каждый из переданных элементов
$dataв сущности, найденные в$entities, учитывая доступные поля, настроенные для сущностей. Объединение выполняется путём сопоставления первичного ключа в каждом из элементов в$dataи$entities. -
patchEntity() public
Объединяет переданный
$dataв$entity, учитывая доступные поля, настроенные для сущности. Возвращает ту же сущность после изменения. -
query() public
Создаёт новый экземпляр запроса для этого хранилища.
-
save() public
Сохраняет сущность на основе полей, помеченных как изменённые, и возвращает ту же сущность после успешного сохранения или false в случае ошибки.
-
setAlias() public
Устанавливает псевдоним хранилища.
-
setRegistryAlias() public
Устанавливает ключ реестра таблицы, используемый для создания этого экземпляра таблицы.
-
updateAll() public
Обновить все соответствующие записи.
Подробное описание методов
delete() public
delete(Cake\Datasource\EntityInterface $entity, arrayArrayAccess $options = []): bool
Удалить одну сущность.
Удаляет сущность и, возможно, связанные ассоциации из базы данных на основе параметра 'dependent', используемого при определении ассоциации.
Параметры
-
Cake\Datasource\EntityInterface$entity Сущность для удаления.
-
arrayArrayAccess$options optional Параметры для удаления.
Возвращает
booldeleteAll() public
deleteAll(mixed $conditions): int
Удаляет все записи, соответствующие заданным условиям.
Этот метод не будет вызывать события beforeDelete/afterDelete. Если вам нужны эти события, сначала загрузите коллекцию записей и удалите их.
Этот метод не будет выполняться для атрибута cascade ассоциаций. Для каскадного удаления в сочетании с этим методом следует использовать внешние ключи базы данных + правила ON CASCADE.
Параметры
-
mixed$conditions Условие, принимает всё, что может принять Query::where().
Возвращает
intСм. также
exists() public
exists(array $conditions): bool
Возвращает true, если в этом хранилище есть записи, соответствующие указанным условиям.
Параметры
-
array$conditions список условий для передачи запросу
Возвращает
boolfind() public
find(string $type = 'all', array $options = []): Cake\Datasource\QueryInterface
Создаёт новый запрос для этого хранилища и применяет некоторые значения по умолчанию на основе выбранного типа поиска.
Параметры
-
string$type optional тип запроса
-
array$options optional Массив, который будет передан в Query::applyOptions()
Возвращает
Cake\Datasource\QueryInterfaceget() public
get(mixed $primaryKey, array $options = []): Cake\Datasource\EntityInterface
Возвращает единственную запись после поиска по первичному ключу; если запись не найдена, этот метод вызывает исключение.
Пример:
$id = 10; $article = $articles->get($id); $article = $articles->get($id, ['contain' => ['Comments]]);
Параметры
-
mixed$primaryKey значение первичного ключа для поиска
-
array$options optional параметры, принимаемые
Table::find()
Возвращает
Cake\Datasource\EntityInterfaceИсключения
Cake\Datasource\Exception\RecordNotFoundExceptionесли запись с таким идентификатором не найдена
См. также
getAlias() public
getAlias(): string
Возвращает псевдоним хранилища.
Возвращает
stringgetRegistryAlias() public
getRegistryAlias(): string
Возвращает ключ реестра таблиц, используемый для создания экземпляра этой таблицы.
Возвращает
stringhasField() public
hasField(string $field): bool
Проверка наличия определённого поля/столбца в хранилище.
Параметры
-
string$field Проверяемое поле.
Возвращает
boolnewEmptyEntity() public
newEmptyEntity(): Cake\Datasource\EntityInterface
Создаёт новый объект сущности.
Внимание: это не вызывает валидации полей. Эта сущность может быть сохранёна без ошибок валидации как пустая запись. Всегда заполняйте необходимые поля перед сохранением.
Возвращает
Cake\Datasource\EntityInterfacenewEntities() public
newEntities(array $data, array $options = []): Cake\Datasource\EntityInterface[]
Создаёт список сущностей + связанных сущностей из массива.
Это наиболее полезно при преобразовании данных запроса в сущности. Например, в вашем коде контроллера:
$articles = $this->Articles->newEntities($this->request->getData());
Затем можно итерировать и сохранять загруженные сущности.
Параметры
-
array$data Данные для создания сущности.
-
array$options optional Список параметров для загрузки объектов.
Возвращает
Cake\Datasource\EntityInterface[]newEntity() public
newEntity(array $data, array $options = []): Cake\Datasource\EntityInterface
Создаёт новую сущность + связанные сущности из массива.
Это наиболее полезно при преобразовании данных запроса в сущности. Например, в вашем коде контроллера:
$article = $this->Articles->newEntity($this->request->getData());
Загруженная сущность правильно выполнит вставку/обновление на основе данных первичного ключа, существующих в базе данных, при сохранении сущности. До сохранения сущности она будет откреплённой записью.
Параметры
-
array$data Данные для создания сущности.
-
array$options optional Список параметров для загрузки объекта.
Возвращает
Cake\Datasource\EntityInterfacepatchEntities() public
patchEntities(Cake\Datasource\EntityInterface[]Traversable $entities, array $data, array $options = []): Cake\Datasource\EntityInterface[]
Объединяет каждый элемент, переданный в $data, в сущности, найденные в $entities, соблюдая доступные поля, настроенные в сущностях. Объединение выполняется путём сопоставления первичного ключа в каждом из элементов в $data и $entities.
Это наиболее полезно при редактировании списка существующих сущностей с помощью данных запроса:
$article = $this->Articles->patchEntities($articles, $this->request->getData());
Параметры
-
Cake\Datasource\EntityInterface[]Traversable$entities сущности, в которые будут внесены данные
-
array$data список массивов для объединения в сущности
-
array$options optional Список параметров для загрузки объектов.
Возвращает
Cake\Datasource\EntityInterface[]patchEntity() public
patchEntity(Cake\Datasource\EntityInterface $entity, array $data, array $options = []): Cake\Datasource\EntityInterface
Объединяет переданные $data в $entity, соблюдая доступные поля, настроенные в сущности. Возвращает ту же сущность после изменения.
Это наиболее полезно при редактировании существующей сущности с помощью данных запроса:
$article = $this->Articles->patchEntity($article, $this->request->getData());
Параметры
-
Cake\Datasource\EntityInterface$entity сущность, в которую будут внесены данные
-
array$data список пар "ключ-значение" полей для объединения в сущность
-
array$options optional Список параметров для загрузки объекта.
Возвращает
Cake\Datasource\EntityInterfacequery() public
query(): Cake\Datasource\QueryInterface
Создаёт новый экземпляр Query для этого хранилища
Возвращает
Cake\Datasource\QueryInterfacesave() public
save(Cake\Datasource\EntityInterface $entity, arrayArrayAccess $options = []): Cake\Datasource\EntityInterface|false
Сохраняет сущность на основе полей, помеченных как изменённые, и возвращает ту же сущность после успешного сохранения или false в случае ошибки.
Параметры
-
Cake\Datasource\EntityInterface$entity сущность для сохранения
-
arrayArrayAccess$options optional Параметры для сохранения.
Возвращает
Cake\Datasource\EntityInterface|falsesetAlias() public
setAlias(string $alias): $this
Устанавливает псевдоним хранилища.
Параметры
-
string$alias Псевдоним таблицы
Возвращает
$thissetRegistryAlias() public
setRegistryAlias(string $registryAlias): $this
Устанавливает ключ реестра таблиц, используемый для создания экземпляра этой таблицы.
Параметры
-
string$registryAlias Ключ для доступа к этому объекту.
Возвращает
$thisupdateAll() public
updateAll(string|arrayClosureCake\Database\Expression\QueryExpression $fields, mixed $conditions): int
Обновить все соответствующие записи.
Устанавливает значения $fields в предоставленные значения на основе $conditions. Этот метод не будет вызывать события beforeSave/afterSave. Если вам нужны эти события, сначала загрузите коллекцию записей и обновите их.
Параметры
-
string|arrayClosureCake\Database\Expression\QueryExpression$fields Словарь поле => новое значение.
-
mixed$conditions Условия, используемые, принимает всё, что может принять Query::where().
Возвращает
int
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/interface-Cake.Datasource.RepositoryInterface.html