Spec-Zone.ru › CakePHP 4.3

Класс AssociationCollection

Контейнер/коллекция для ассоциативных классов.

Содержит методы для управления ассоциациями и упорядочивания операций сохранения и удаления.

Пространство имен: Cake\ORM

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

  • $_items protected
    arrayCake\ORM\Association>

    Хранилище ассоциаций

  • $_tableLocator protected
    Cake\ORM\Locator\LocatorInterface|null

    Экземпляр локатора таблиц

  • $defaultTable protected
    string|null

    Псевдоним таблицы по умолчанию для данного объекта.

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

  • __construct() public

    Конструктор.

  • _normalizeAssociations() protected

    Возвращает массив из исходного списка ассоциаций, где обозначение точками преобразовано в вложенные массивы, чтобы их можно было обработать другими процедурами

  • _save() protected

    Вспомогательный метод для сохранения данных ассоциации.

  • _saveAssociations() protected

    Вспомогательный метод для сохранения данных ассоциации.

  • add() public

    Добавить ассоциацию в коллекцию

  • cascadeDelete() public

    Каскадное удаление по различным ассоциациям. Сначала каскадное удаление по ассоциациям, для которых cascadeCallbacks равно true.

  • fetchTable() public

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

  • get() public

    Получение присоединённой ассоциации по имени.

  • getByProperty() public

    Получение ассоциации по имени свойства.

  • getByType() public

    Получение массива ассоциаций, соответствующих определённому типу.

  • getIterator() public

    Разрешение перебора ассоциаций

  • getTableLocator() public

    Получение локатора таблиц.

  • has() public

    Проверка наличия присоединённой ассоциации по имени.

  • keys() public

    Получение имён всех ассоциаций в коллекции.

  • load() public

    Создаёт и добавляет объект Association в эту коллекцию.

  • normalizeKeys() public

    Возвращает ассоциативный массив имён ассоциаций из смешанного массива. Если передано true, возвращает все имена ассоциаций в этой коллекции.

  • remove() public

    Удалить/выбросить ассоциацию.

  • removeAll() public

    Удалить все зарегистрированные ассоциации.

  • saveChildren() public

    Сохранение всех ассоциаций, являющихся дочерними по отношению к данному сущности.

  • saveParents() public

    Сохранение всех ассоциаций, являющихся родительскими по отношению к данной сущности.

  • setTableLocator() public

    Устанавливает локатор таблиц.

END_OF_DOCUMENT_MARKER

Подробное описание методов

__construct() public

__construct(Cake\ORM\Locator\LocatorInterface|null $tableLocator = null)

Конструктор.

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

Параметры

Cake\ORM\Locator\LocatorInterface|null $tableLocator необязательный

Экземпляр локатора таблиц.

_normalizeAssociations() protected

_normalizeAssociations(array|string $associations): array

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

Параметры

array|string $associations

Массив включенных ассоциаций.

Возвращаемое значение

array

_save() protected

_save(Cake\ORM\Association $association, Cake\Datasource\EntityInterface $entity, array<string, mixed> $nested, array<string, mixed> $options): bool

Вспомогательный метод для сохранения данных ассоциации.

Параметры

Cake\ORM\Association $association

Объект ассоциации для сохранения.

Cake\Datasource\EntityInterface $entity

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

array<string, mixed> $nested

Параметры для более глубоких ассоциаций

array<string, mixed> $options

Исходные параметры

Возвращаемое значение

bool

_saveAssociations() protected

_saveAssociations(Cake\ORM\Table $table, Cake\Datasource\EntityInterface $entity, array $associations, array<string, mixed> $options, bool $owningSide): bool

Вспомогательный метод для сохранения данных ассоциации.

Параметры

Cake\ORM\Table $table

Таблица, над которой в данный момент выполняется сохранение.

Cake\Datasource\EntityInterface $entity

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

array $associations

Массив ассоциаций для сохранения.

array<string, mixed> $options

Исходные параметры

bool $owningSide

Сравнивается с методом isOwningSide классов ассоциаций.

Возвращаемое значение

bool

Исключения

InvalidArgumentException
При использовании неизвестного псевдонима.

add() public

add(string $alias, Cake\ORM\Association $association): Cake\ORM\Association

Добавить ассоциацию в коллекцию

Если добавленный псевдоним содержит ., часть, предшествующая ., будет удалена. Это упрощает использование плагинов, поскольку синтаксис Plugin.Class используется часто.

Параметры

string $alias

Псевдоним ассоциации

Cake\ORM\Association $association

Добавляемая ассоциация.

Возвращаемое значение

Cake\ORM\Association

cascadeDelete() public

cascadeDelete(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options): bool

Каскадное удаление по различным ассоциациям. Каскадное удаление происходит сначала по ассоциациям, для которых cascadeCallbacks равно true.

Параметры

Cake\Datasource\EntityInterface $entity

Сущность, для которой нужно удалить ассоциации.

array<string, mixed> $options

Параметры, используемые в операции удаления.

Возвращаемое значение

bool

fetchTable() public

fetchTable(string|null $alias = null, array<string, mixed> $options = []): Cake\ORM\Table

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

Параметры

string|null $alias необязательный

Имя псевдонима, которое нужно получить. Должно быть в формате CamelCase. Если null, используется значение свойства $defaultTable.

array<string, mixed> $options необязательный

Параметры, с которыми нужно создать таблицу. Если таблица уже загружена, параметры реестра будут игнорироваться.

Возвращаемое значение

Cake\ORM\Table

Исключения

Cake\Core\Exception\CakeException
Если аргумент `$alias` и свойство `$defaultTable` оба равны `null`.

См. также

\Cake\ORM\TableLocator::get()

get() public

get(string $alias): Cake\ORM\Association|null

Получить присоединённую ассоциацию по имени.

Параметры

string $alias

Псевдоним ассоциации для получения.

Возвращаемое значение

Cake\ORM\Association|null

getByProperty() public

getByProperty(string $prop): Cake\ORM\Association|null

Получить ассоциацию по имени свойства.

Параметры

string $prop

Свойство, по которому нужно найти ассоциацию.

Возвращаемое значение

Cake\ORM\Association|null

getByType() public

getByType(array<string>|string $class): arrayCake\ORM\Association>

Получить массив ассоциаций, соответствующих определённому типу.

Параметры

array<string>|string $class

Тип ассоциаций, который вы хотите. Например, 'BelongsTo' или массив типа ['BelongsTo', 'HasOne']

Возвращаемое значение

arrayCake\ORM\Association>

getIterator() public

getIterator(): Traversable<string,Cake\ORM\Association>

Разрешить циклическое прохождение по ассоциациям

Возвращаемое значение

Traversable<string,Cake\ORM\Association>

getTableLocator() public

getTableLocator(): Cake\ORM\Locator\LocatorInterface

Получает локатор таблиц.

Возвращаемое значение

Cake\ORM\Locator\LocatorInterface

has() public

has(string $alias): bool

Проверка наличия присоединённой ассоциации по имени.

Параметры

string $alias

Псевдоним ассоциации для получения.

Возвращаемое значение

bool

keys() public

keys(): array<string>

Получить имена всех ассоциаций в коллекции.

Возвращаемое значение

array<string>

load() public

load(string $className, string $associated, array<string, mixed> $options = []): Cake\ORM\Association

Создаёт и добавляет объект Association в эту коллекцию.

Параметры

string $className

Имя класса ассоциации.

string $associated

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

array<string, mixed> $options необязательный

Список параметров для настройки определения ассоциации.

Возвращаемое значение

Cake\ORM\Association

Исключения

InvalidArgumentException

normalizeKeys() public

normalizeKeys(array|bool $keys): array

Возвращает ассоциативный массив имён ассоциаций из смешанного массива. Если передано значение true, возвращает все имена ассоциаций в этой коллекции.

Параметры

array|bool $keys

Список имён ассоциаций для нормализации.

Возвращаемое значение

array

remove() public

remove(string $alias): void

Удалить/убрать ассоциацию.

После удаления ассоциация больше не будет доступна.

Параметры

string $alias

Имя псевдонима.

Возвращаемое значение

void

removeAll() public

removeAll(): void

Удалить все зарегистрированные ассоциации.

После удаления ассоциации больше не будут доступны.

Возвращаемое значение

void

saveChildren() public

saveChildren(Cake\ORM\Table $table, Cake\Datasource\EntityInterface $entity, array $associations, array<string, mixed> $options): bool

Сохранить все ассоциации, являющиеся дочерними для заданного сущности.

Дочерние ассоциации включают любую ассоциацию, где заданная таблица не является владеющей стороной.

Параметры

Cake\ORM\Table $table

Сущность таблицы.

Cake\Datasource\EntityInterface $entity

Сущность, для которой сохраняются связанные данные.

array $associations

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

array<string, mixed> $options

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

Возвращает

bool

saveParents() public

saveParents(Cake\ORM\Table $table, Cake\Datasource\EntityInterface $entity, array $associations, array<string, mixed> $options = []): bool

Сохранить все ассоциации, являющиеся родительскими для заданной сущности.

Родительские ассоциации включают любую ассоциацию, где заданная таблица является владеющей стороной.

Параметры

Cake\ORM\Table $table

Сущность таблицы.

Cake\Datasource\EntityInterface $entity

Сущность, для которой сохраняются связанные данные.

array $associations

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

array<string, mixed> $options optional

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

Возвращает

bool

setTableLocator() public

setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): $this

Устанавливает локатор таблицы.

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator

Экземпляр LocatorInterface.

Возвращает

$this

Подробное описание свойств

$_items protected

Сохранённые ассоциации

Тип

arrayCake\ORM\Association>

$_tableLocator protected

Экземпляр локатора таблиц

Тип

Cake\ORM\Locator\LocatorInterface|null

$defaultTable protected

Псевдоним таблицы по умолчанию для этого объекта.

Тип

string|null

© 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.3/class-Cake.ORM.AssociationCollection.html

Spec-Zone.ru

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