Интерфейс RepositoryInterface
Описывает методы, которым должен соответствовать любой класс, представляющий хранилище данных.
Прямые известные реализации
Cake\ORM\TableПодробное описание метода
aliassource public
alias( string|null $alias null )
Возвращает псевдоним таблицы или задаёт новый.
Параметры
- string|null
$aliasнеобязательно null - новый псевдоним таблицы
Возвращает
stringstring
deletesource public
delete( Cake\Datasource\EntityInterface $entity , array|ArrayAccess $options [] )
Удаление одной сущности.
Удаляет сущность и, возможно, связанные ассоциации из базы данных на основе опции 'dependent', используемой при определении ассоциации.
Параметры
-
Cake\Datasource\EntityInterface$entity - Удаляемая сущность.
- array|ArrayAccess
$optionsнеобязательно [] - Опции для удаления.
Возвращает
booleanуспех
deleteAllsource public
deleteAll( mixed $conditions )
Удаление всех совпадающих записей.
Удаляет все записи, соответствующие заданным условиям.
Этот метод не будет вызывать события beforeDelete/afterDelete. Если вам нужны эти события, сначала загрузите коллекцию записей и удалите их.
Этот метод не будет выполняться для атрибута ассоциаций cascade. Если вам нужно каскадное удаление, используйте внешние ключи базы данных + правила ON CASCADE вместе с этим методом.
Параметры
- mixed
$conditions - Условия, принимающие то, что может принять Query::where().
Возвращает
integerКоличество Возвращает количество затронутых строк.
См.
Cake\Datasource\RepositoryInterface::delete()existssource public
exists( array|ArrayAccess $conditions )
Возвращает true, если в этом хранилище есть запись, соответствующая указанным условиям.
Параметры
- array|ArrayAccess
$conditions - список условий для передачи в запрос
Возвращает
booleanbool
findsource public
find( string $type 'all' , array|ArrayAccess $options [] )
Создаёт новый запрос для этого хранилища и применяет некоторые значения по умолчанию, основанные на выбранном типе поиска.
Событие Model.beforeFind
Каждый вызов find() вызывает событие Model.beforeFind для всех прикреплённых слушателей. Любой слушатель может установить корректный результат набора данных с помощью $query
Параметры
- string
$typeнеобязательно 'all' - тип запроса, который нужно выполнить
- array|ArrayAccess
$optionsнеобязательно [] - массив, который будет передан в Query::applyOptions()
Возвращает
Cake\ORM\Query\Cake\ORM\Query
getsource 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\EntityInterface
Исключения
Cake\Datasource\Exception\RecordNotFoundExceptionесли запись с таким id не найдена
См.
Cake\Datasource\RepositoryInterface::find()hasFieldsource public
hasField( string $field )
Проверка наличия в Хранилище определённого поля/колонки.
Параметры
- string
$field - Проверяемое поле.
Возвращает
booleanTrue, если поле существует, false, если нет.
newEntitiessource public
newEntities( array $data , array $options [] )
Создание списка сущностей + связанных сущностей из массива.
Это наиболее полезно при загрузке данных запроса обратно в сущности. Например, в вашем контроллере:
$articles = $this->Articles->newEntities($this->request->data());
Затем можно перебрать загруженные сущности и сохранить их.
Параметры
- array
$data - Данные для создания сущности.
- array
$optionsнеобязательно [] - Список опций для загрузки объектов.
Возвращает
arrayМассив загруженных записей.
newEntitysource public
newEntity( array|null $data null , array $options [] )
Создание новой сущности + связанных сущностей из массива.
Это наиболее полезно при загрузке данных запроса обратно в сущности. Например, в вашем контроллере:
$article = $this->Articles->newEntity($this->request->data());
Загруженная сущность корректно выполнит вставку/обновление, основываясь на данных первичного ключа, существующих в базе данных, при сохранении сущности. До тех пор, пока сущность не сохранена, это будет отделённая запись.
Параметры
- array|null
$dataнеобязательно null - Данные для создания сущности.
- array
$optionsнеобязательно [] - Список опций для загрузки объекта.
Возвращает
Cake\Datasource\EntityInterface\Cake\Datasource\EntityInterface
patchEntitiessource public
patchEntities( array|Traversable $entities , array $data , array $options [] )
Объединяет каждый из элементов, переданных в $data , в сущности, найденные в $entities , учитывая конфигурируемые доступные поля сущностей. Объединение выполняется путём сопоставления первичного ключа в каждом из элементов в $data и $entities.
Это наиболее полезно при редактировании списка существующих сущностей с использованием данных запроса:
$article = $this->Articles->patchEntities($articles, $this->request->data());
Параметры
- array|Traversable
$entities - сущности, в которые будут объединены данные
- array
$data - список массивов для объединения в сущности
- array
$optionsнеобязательно [] - Список опций для загрузки объектов.
Возвращает
arrayмассив
patchEntitysource public
patchEntity( Cake\Datasource\EntityInterface $entity , array $data , array $options [] )
Объединяет переданные $data в $entity , учитывая конфигурируемые доступные поля сущности. Возвращает ту же сущность после изменения.
Это наиболее полезно при редактировании существующей сущности с использованием данных запроса:
$article = $this->Articles->patchEntity($article, $this->request->data());
Параметры
-
Cake\Datasource\EntityInterface$entity - сущность, в которую будут объединены данные
- array
$data - список пар ключ-значение для объединения в сущность
- array
$optionsнеобязательно [] - Список опций для загрузки объекта.
Возвращает
Cake\Datasource\EntityInterface\Cake\Datasource\EntityInterface
querysource public
query( )
Создаёт новый экземпляр Query для этого хранилища
Возвращает
Cake\ORM\Query\Cake\ORM\Query
savesource public
save( Cake\Datasource\EntityInterface $entity , array|ArrayAccess $options [] )
Сохраняет сущность на основе полей, помеченных как изменённые, и возвращает ту же сущность после успешного сохранения или false в случае ошибки.
Параметры
-
Cake\Datasource\EntityInterface$entity - сохраняемая сущность
- array|ArrayAccess
$optionsнеобязательно [] - Опции для сохранения.
Возвращает
Cake\Datasource\EntityInterface|boolean\Cake\Datasource\EntityInterface|bool
updateAllsource public
updateAll( array $fields , mixed $conditions )
Обновить все соответствующие записи.
Устанавливает значения $fields в предоставленные значения на основе $conditions. Этот метод не будет вызывать события beforeSave/afterSave. Если вам нужны эти события, сначала загрузите коллекцию записей и обновите их.
Параметры
- массив
$fields - Хеш полей => новое значение.
- смешанный
$conditions - Условие для использования, принимает все, что может принять Query::where().
Возвращает
integerКоличество Возвращает количество затронутых строк.
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Datasource.RepositoryInterface.html