Интерфейс RepositoryInterface
Описывает методы, которым должен соответствовать любой класс, представляющий хранилище данных.
Прямые реализаторы
Краткое описание методов
- alias() publicВозвращает псевдоним таблицы или устанавливает новый
- delete() publicУдалить один сущность.
- deleteAll() publicУдаляет все записи, соответствующие предоставленным условиям.
- exists() public
Возвращает true, если в этом репозитории есть хоть одна запись, соответствующая указанным условиям.
- find() public
Создаёт новый запрос для этого репозитория и применяет некоторые значения по умолчанию, основанные на типе выбранного поиска.
- get() public
Возвращает одну запись после её поиска по первичному ключу. Если запись не найдена, метод выбрасывает исключение.
- hasField() publicПроверка наличия определённого поля/колонки в репозитории.
- newEntities() publicСоздаёт список сущностей + связанных сущностей из массива.
- newEntity() publicСоздаёт новую сущность + связанные сущности из массива.
- patchEntities() public
Объединяет каждый из элементов, переданных в
$data, с сущностями, найденными в$entities, соблюдая доступные поля, настроенные в сущностях. Объединение выполняется путём сопоставления первичного ключа в каждом элементе в$dataи$entities. - patchEntity() public
Объединяет переданный
$dataв$entity, соблюдая доступные поля, настроенные в сущности. Возвращает ту же сущность после изменения. - query() publicСоздаёт новый экземпляр Query для этого репозитория
- save() public
Сохраняет сущность на основе полей, отмеченных как изменённые, и возвращает ту же сущность после успешного сохранения или false в случае ошибки.
- updateAll() publicОбновляет все соответствующие записи.
Подробное описание методов
alias()source public
alias( string|null $alias null )
Возвращает псевдоним таблицы или устанавливает новый
Устарело
3.4.0 Используйте setAlias()/getAlias() вместо этого.Параметры
- string|null
$aliasнеобязательно null - новый псевдоним таблицы
Возвращает
stringdelete()source public
delete( Cake\Datasource\EntityInterface $entity , array|ArrayAccess $options [] )
Удалить одну сущность.
Удаляет сущность и, возможно, связанные ассоциации из базы данных, в зависимости от опции «dependent», используемой при определении ассоциации.
Параметры
-
Cake\Datasource\EntityInterface$entity - Сущность для удаления.
- array|ArrayAccess
$optionsнеобязательно [] - Опции для удаления.
Возвращает
booleanуспех
deleteAll()source public
deleteAll( mixed $conditions )
Удаляет все записи, соответствующие предоставленным условиям.
Этот метод не будет вызывать события beforeDelete/afterDelete. Если вам нужны эти события, сначала загрузите коллекцию записей и удалите их.
Этот метод не будет выполняться для атрибута cascade ассоциаций. Используйте внешние ключи базы данных + правила ON CASCADE, если вам нужно каскадное удаление в сочетании с этим методом.
Параметры
- mixed
$conditions Условия, которые будут использоваться, принимает всё, что может принять Query::where().
Возвращает
integerВозвращает количество затронутых строк.
См. также
\Cake\Datasource\RepositoryInterface::delete()exists()source public
exists( array|ArrayAccess $conditions )
Возвращает true, если в этом репозитории есть хоть одна запись, соответствующая указанным условиям.
Параметры
- array|ArrayAccess
$conditions - список условий для передачи в запрос
Возвращает
booleanfind()source public
find( string $type 'all' , array|ArrayAccess $options [] )
Создаёт новый запрос для этого репозитория и применяет некоторые значения по умолчанию, основанные на типе выбранного поиска.
Событие Model.beforeFind
Каждый find() вызовет событие Model.beforeFind для всех подключенных слушателей. Любой слушатель может установить допустимый набор результатов, используя $query
Параметры
- string
$typeнеобязательно 'all' - тип запроса для выполнения
- array|ArrayAccess
$optionsнеобязательно [] - Массив, который будет передан в Query::applyOptions()
Возвращает
Cake\ORM\Queryget()source public
get( mixed $primaryKey , array|ArrayAccess $options [] )
Возвращает одну запись после её поиска по первичному ключу. Если запись не найдена, метод выбрасывает исключение.
Пример:
$id = 10; $article = $articles->get($id); $article = $articles->get($id, ['contain' => ['Comments]]);
Параметры
- mixed
$primaryKey - значение первичного ключа для поиска
- array|ArrayAccess
$optionsнеобязательно [] - опции, принимаемые
Table::find()
Возвращает
Cake\Datasource\EntityInterfaceИсключения
Cake\Datasource\Exception\RecordNotFoundExceptionесли запись с таким идентификатором не была найдена
См. также
\Cake\Datasource\RepositoryInterface::find()hasField()source public
hasField( string $field )
Проверка наличия определённого поля/колонки в репозитории.
Параметры
- string
$field - Поле для проверки.
Возвращает
booleanTrue, если поле существует, false - если нет.
newEntities()source public
newEntities( array $data , array $options [] )
Создаёт список сущностей + связанных сущностей из массива.
Это наиболее полезно при восстановлении данных запроса в сущности. Например, в коде контроллера:
$articles = $this->Articles->newEntities($this->request->getData());
Восстановленные сущности затем можно итерировать и сохранять.
Параметры
- array
$data - Данные для создания сущности.
- array
$optionsнеобязательно [] - Список опций для гидратации объектов.
Возвращает
Cake\Datasource\EntityInterface[]Массив восстановленных записей.
newEntity()source public
newEntity( array|null $data null , array $options [] )
Создаёт новую сущность + связанные сущности из массива.
Это наиболее полезно при восстановлении данных запроса в сущности. Например, в коде контроллера:
$article = $this->Articles->newEntity($this->request->getData());
Восстановленная сущность корректно выполнит вставку/обновление, основываясь на данных первичного ключа, существующих в базе данных, когда сущность будет сохранена. До сохранения сущности она будет отвязанной записью.
Параметры
- array|null
$dataнеобязательно null - Данные для создания сущности.
- array
$optionsнеобязательно [] - Список опций для гидратации объекта.
Возвращает
Cake\Datasource\EntityInterfacepatchEntities()source public
patchEntities( Cake\Datasource\EntityInterface[]|Traversable $entities , array $data , array $options [] )
Объединяет каждый из переданных элементов $data с сущностями, найденными в $entities, учитывая доступные поля, настроенные на сущностях. Объединение выполняется путем сопоставления первичного ключа в каждом из элементов в $data и $entities.
Это наиболее полезно при редактировании списка существующих сущностей с использованием данных запроса:
$article = $this->Articles->patchEntities($articles, $this->request->getData());
Параметры
-
Cake\Datasource\EntityInterface[]|Перечислимый$entities сущности, которым будут объединены данные
- массив
$data - список массивов, которые будут объединены с сущностями
- массив
$optionsнеобязательно [] - Список опций для гидратации объектов.
Возвращает
Cake\Datasource\EntityInterface[]patchEntity()source public
patchEntity( Cake\Datasource\EntityInterface $entity , array $data , array $options [] )
Объединяет переданные $data в $entity, учитывая доступные поля, настроенные на сущности. Возвращает ту же сущность после изменения.
Это наиболее полезно при редактировании существующей сущности с использованием данных запроса:
$article = $this->Articles->patchEntity($article, $this->request->getData());
Параметры
-
Cake\Datasource\EntityInterface$entity сущность, которой будут объединены данные
- массив
$data - список пар ключ-значение полей для объединения с сущностью
- массив
$optionsнеобязательно [] - Список опций для гидратации объекта.
Возвращает
Cake\Datasource\EntityInterfacequery()source public
query( )
Создает новый экземпляр запроса для этого репозитория
Возвращает
Cake\ORM\Querysave()source public
save( Cake\Datasource\EntityInterface $entity , array|ArrayAccess $options [] )
Сохраняет сущность на основе полей, помеченных как изменённые, и возвращает ту же сущность после успешного сохранения или false в случае ошибки.
Параметры
-
Cake\Datasource\EntityInterface$entity - сущность, подлежащая сохранению
- массив|ArrayAccess
$optionsнеобязательно [] - Опции, используемые при сохранении.
Возвращает
Cake\Datasource\EntityInterface|falseupdateAll()source public
updateAll( string|array|callable|Cake\Database\Expression\QueryExpression $fields , mixed $conditions )
Обновляет все соответствующие записи.
Устанавливает $fields в предоставленные значения на основе $conditions. Этот метод не вызовет события beforeSave/afterSave. Если вам нужны эти события, сначала загрузите коллекцию записей и обновите их.
Параметры
- строка|массив|вызов|
Cake\Database\Expression\QueryExpression$fields - Хэш поле => новое значение.
- смешанное
$conditions Условие, принимающее все, что может принять Query::where().
Возвращает
целое числоКоличество затронутых строк.
Краткое описание магических методов
© 2005–2018 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/3.5/class-Cake.Datasource.RepositoryInterface.html