Spec-Zone.ru › CakePHP 4.4

Интерфейс RepositoryInterface

Описывает методы, которым должен соответствовать любой класс, представляющий хранилище данных.

Пространство имён: Cake\Datasource

Краткое описание методов

  • 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, ArrayAccess|array $options = []): bool

Удалить одну сущность.

Удаляет сущность и, возможно, связанные ассоциации из базы данных на основе параметра 'dependent', используемого при определении ассоциации.

Параметры

Cake\Datasource\EntityInterface $entity

Сущность для удаления.

ArrayAccess|array $options optional

Параметры для удаления.

Возвращает

bool

deleteAll() public

deleteAll(mixed $conditions): int

Удаляет все записи, соответствующие заданным условиям.

Этот метод не будет вызывать события beforeDelete/afterDelete. Если вам нужны эти события, сначала загрузите коллекцию записей и удалите их.

Этот метод не будет выполняться для атрибута cascade ассоциаций. Для каскадного удаления в сочетании с этим методом следует использовать внешние ключи базы данных + правила ON CASCADE.

Параметры

mixed $conditions

Условие, принимает всё, что может принять Query::where().

Возвращает

int

См. также

\Cake\Datasource\RepositoryInterface::delete()

exists() public

exists(array $conditions): bool

Возвращает true, если в этом хранилище есть записи, соответствующие указанным условиям.

Параметры

array $conditions

список условий для передачи запросу

Возвращает

bool

find() public

find(string $type = 'all', array<string, mixed> $options = []): Cake\Datasource\QueryInterface

Создаёт новый запрос для этого хранилища и применяет некоторые значения по умолчанию на основе выбранного типа поиска.

Параметры

string $type optional

тип запроса

array<string, mixed> $options optional

Массив, который будет передан в Query::applyOptions()

Возвращает

Cake\Datasource\QueryInterface

get() public

get(mixed $primaryKey, array<string, mixed> $options = []): Cake\Datasource\EntityInterface

Возвращает единственную запись после поиска по первичному ключу; если запись не найдена, этот метод вызывает исключение.

Пример:

$id = 10;
$article = $articles->get($id);

$article = $articles->get($id, ['contain' => ['Comments]]);

Параметры

mixed $primaryKey

значение первичного ключа для поиска

array<string, mixed> $options optional

параметры, принимаемые Table::find()

Возвращает

Cake\Datasource\EntityInterface

Исключения

Cake\Datasource\Exception\RecordNotFoundException
если запись с таким идентификатором не найдена

См. также

\Cake\Datasource\RepositoryInterface::find()

getAlias() public

getAlias(): string

Возвращает псевдоним хранилища.

Возвращает

string

getRegistryAlias() public

getRegistryAlias(): string

Возвращает ключ реестра таблиц, используемый для создания экземпляра этой таблицы.

Возвращает

string

hasField() public

hasField(string $field): bool

Проверка наличия определённого поля/столбца в хранилище.

Параметры

string $field

Проверяемое поле.

Возвращает

bool

newEmptyEntity() public

newEmptyEntity(): Cake\Datasource\EntityInterface

Создаёт новый объект сущности.

Внимание: это не вызывает валидации полей. Эта сущность может быть сохранёна без ошибок валидации как пустая запись. Всегда заполняйте необходимые поля перед сохранением.

Возвращает

Cake\Datasource\EntityInterface

newEntities() public

newEntities(array $data, array<string, mixed> $options = []): arrayCake\Datasource\EntityInterface>

Создаёт список сущностей + связанных сущностей из массива.

Это наиболее полезно при преобразовании данных запроса в сущности. Например, в вашем коде контроллера:

$articles = $this->Articles->newEntities($this->request->getData());

Затем можно итерировать и сохранять загруженные сущности.

Параметры

array $data

Данные для создания сущности.

array<string, mixed> $options optional

Список параметров для загрузки объектов.

Возвращает

arrayCake\Datasource\EntityInterface>

newEntity() public

newEntity(array $data, array<string, mixed> $options = []): Cake\Datasource\EntityInterface

Создаёт новую сущность + связанные сущности из массива.

Это наиболее полезно при преобразовании данных запроса в сущности. Например, в вашем коде контроллера:

$article = $this->Articles->newEntity($this->request->getData());

Загруженная сущность правильно выполнит вставку/обновление на основе данных первичного ключа, существующих в базе данных, при сохранении сущности. До сохранения сущности она будет откреплённой записью.

Параметры

array $data

Данные для создания сущности.

array<string, mixed> $options optional

Список параметров для загрузки объекта.

Возвращает

Cake\Datasource\EntityInterface

patchEntities() public

patchEntities(iterableCake\Datasource\EntityInterface> $entities, array $data, array<string, mixed> $options = []): arrayCake\Datasource\EntityInterface>

Объединяет каждый элемент, переданный в $data, в сущности, найденные в $entities, соблюдая доступные поля, настроенные в сущностях. Объединение выполняется путём сопоставления первичного ключа в каждом из элементов в $data и $entities.

Это наиболее полезно при редактировании списка существующих сущностей с помощью данных запроса:

$article = $this->Articles->patchEntities($articles, $this->request->getData());

Параметры

iterableCake\Datasource\EntityInterface> $entities

сущности, в которые будут внесены данные

array $data

список массивов для объединения в сущности

array<string, mixed> $options optional

Список параметров для загрузки объектов.

Возвращает

arrayCake\Datasource\EntityInterface>

patchEntity() public

patchEntity(Cake\Datasource\EntityInterface $entity, array $data, array<string, mixed> $options = []): Cake\Datasource\EntityInterface

Объединяет переданные $data в $entity, соблюдая доступные поля, настроенные в сущности. Возвращает ту же сущность после изменения.

Это наиболее полезно при редактировании существующей сущности с помощью данных запроса:

$article = $this->Articles->patchEntity($article, $this->request->getData());

Параметры

Cake\Datasource\EntityInterface $entity

сущность, в которую будут внесены данные

array $data

список пар "ключ-значение" полей для объединения в сущность

array<string, mixed> $options optional

Список параметров для загрузки объекта.

Возвращает

Cake\Datasource\EntityInterface

query() public

query(): Cake\Datasource\QueryInterface

Создаёт новый экземпляр Query для этого хранилища

Возвращает

Cake\Datasource\QueryInterface

save() public

save(Cake\Datasource\EntityInterface $entity, ArrayAccess|array $options = []): Cake\Datasource\EntityInterface|false

Сохраняет сущность на основе полей, помеченных как изменённые, и возвращает ту же сущность после успешного сохранения или false в случае ошибки.

Параметры

Cake\Datasource\EntityInterface $entity

сущность для сохранения

ArrayAccess|array $options optional

Параметры для сохранения.

Возвращает

Cake\Datasource\EntityInterface|false

setAlias() public

setAlias(string $alias): $this

Устанавливает псевдоним хранилища.

Параметры

string $alias

Псевдоним таблицы

Возвращает

$this

setRegistryAlias() public

setRegistryAlias(string $registryAlias): $this

Устанавливает ключ реестра таблиц, используемый для создания экземпляра этой таблицы.

Параметры

string $registryAlias

Ключ для доступа к этому объекту.

Возвращает

$this

updateAll() public

updateAll(Cake\Database\Expression\QueryExpressionClosure|array|string $fields, mixed $conditions): int

Обновить все соответствующие записи.

Устанавливает значения $fields в предоставленные значения на основе $conditions. Этот метод не будет вызывать события beforeSave/afterSave. Если вам нужны эти события, сначала загрузите коллекцию записей и обновите их.

Параметры

Cake\Database\Expression\QueryExpressionClosure|array|string $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.4/interface-Cake.Datasource.RepositoryInterface.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API