Интерфейс 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если запись с таким id не была найдена
См. также
\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необязательно [] - Список опций для гидратации объектов.
Возвращает
arrayМассив полученных записей.
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( array|Traversable $entities , array $data , array $options [] )
Объединяет каждый из переданных элементов $data с сущностями, найденными в $entities, учитывая доступные поля, настроенные в сущностях. Объединение выполняется путем сопоставления первичного ключа каждого из элементов в $data и $entities.
Это наиболее полезно при редактировании списка существующих сущностей с использованием данных запроса:
$article = $this->Articles->patchEntities($articles, $this->request->getData());
Параметры
- array|Traversable
$entities сущности, в которые будут добавлены данные
- array
$data - список массивов, которые будут объединены с сущностями
- array
$optionsoptional [] - список параметров для гидратации объектов.
Возвращает
arraypatchEntity()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 сущность, в которую будут добавлены данные
- array
$data - список пар "ключ-значение" полей, которые будут объединены с сущностью
- array
$optionsoptional [] - список параметров для гидратации объекта.
Возвращает
Cake\Datasource\EntityInterfacequery()source public
query( )
Создает новый экземпляр Query для этого репозитория
Возвращает
Cake\ORM\Querysave()source public
save( Cake\Datasource\EntityInterface $entity , array|ArrayAccess $options [] )
Сохраняет сущность на основе полей, помеченных как измененные, и возвращает ту же сущность после успешного сохранения или false в случае ошибки.
Параметры
-
Cake\Datasource\EntityInterface$entity - сущность, которая будет сохранена
- array|ArrayAccess
$optionsoptional [] - Параметры для сохранения.
Возвращает
Cake\Datasource\EntityInterface|booleanupdateAll()source public
updateAll( string|array|callable|Cake\Database\Expression\QueryExpression $fields , mixed $conditions )
Обновляет все соответствующие записи.
Устанавливает $fields в предоставленные значения, основанные на $conditions. Этот метод не будет вызывать события beforeSave/afterSave. Если вам нужны эти события, сначала загрузите коллекцию записей и обновите их.
Параметры
- string|array|callable|
Cake\Database\Expression\QueryExpression$fields - Хэш полей => нового значения.
- mixed
$conditions Условие, принимает все, что может принять Query::where().
Возвращает
integerКоличество затронутых строк.
Краткое описание магических методов
© 2005–2017 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.4/class-Cake.Datasource.RepositoryInterface.html