Spec-Zone.ru › CakePHP 3.1

Класс AssociationCollection

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

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

Cake\ORM\AssociationCollection реализует IteratorAggregate использует Cake\ORM\AssociationsNormalizerTrait
Пространство имён: Cake\ORM
Расположен в ORM/AssociationCollection.php

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

_savesource protected

_save( Cake\ORM\Association $association , Cake\Datasource\EntityInterface $entity , array $nested , array $options )

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

Параметры

Cake\ORM\Association $association
Объект ассоциации для сохранения.
Cake\Datasource\EntityInterface $entity
Сущность для сохранения
массив $nested
Параметры для глубоких ассоциаций
массив $options
Исходные параметры

Возвращает

boolean
Успех

_saveAssociationssource protected

_saveAssociations( Cake\ORM\Table $table , Cake\Datasource\EntityInterface $entity , array $associations , array $options , boolean $owningSide )

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

Параметры

Cake\ORM\Table $table
Таблица, на которой в данный момент выполняется сохранение
Cake\Datasource\EntityInterface $entity
Сущность для сохранения
массив $associations
Массив ассоциаций для сохранения.
массив $options
Исходные параметры
boolean $owningSide
Сравнивается с методом isOwningSide классов ассоциаций.

Возвращает

boolean
Успех

Вызывает исключение

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

addsource public

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

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

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

Параметры

строка $alias
Псевдоним ассоциации
Cake\ORM\Association $association
Добавляемая ассоциация.

Возвращает

Cake\ORM\Association
Объект добавляемой ассоциации.

cascadeDeletesource public

cascadeDelete( Cake\Datasource\EntityInterface $entity , array $options )

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

Параметры

Cake\Datasource\EntityInterface $entity
Сущность, для которой удаляются ассоциации.
массив $options
Параметры, используемые в операции удаления.

getsource public

get( string $alias )

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

Параметры

строка $alias
Псевдоним ассоциации для получения.

Возвращает

Cake\ORM\Association|null
Ассоциацию или null.

getByPropertysource public

getByProperty( string $prop )

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

Параметры

строка $prop
Свойство для поиска ассоциации.

Возвращает

Cake\ORM\Association|null
Ассоциацию или null.

getIteratorsource public

getIterator( )

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

Возвращает

ArrayIterator
ArrayIterator

Реализация

IteratorAggregate::getIterator()

hassource public

has( string $alias )

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

Параметры

строка $alias
Псевдоним ассоциации для получения.

Возвращает

boolean
Существует ли ассоциация.

keyssource public

keys( )

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

Возвращает

array
массив

normalizeKeyssource public

normalizeKeys( boolean|array $keys )

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

Параметры

boolean|массив $keys
список имён ассоциаций для нормализации

Возвращает

array
массив

removesource public

remove( string $alias )

Удалить ассоциацию.

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

Параметры

строка $alias
Имя псевдонима.

removeAllsource public

removeAll( )

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

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

saveChildrensource public

saveChildren( Cake\ORM\Table $table , Cake\Datasource\EntityInterface $entity , array $associations , array $options )

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

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

Параметры

Cake\ORM\Table $table
Сущность таблицы.
Cake\Datasource\EntityInterface $entity
Сущность для сохранения связанных данных.
массив $associations
Список ассоциаций для сохранения дочерних элементов. Ассоциации, не включённые в этот список, не будут сохранены.
массив $options
Параметры для операции сохранения.

Возвращает

boolean
Успех

saveParentssource public

saveParents( Cake\ORM\Table $table , Cake\Datasource\EntityInterface $entity , array $associations , array $options [] )

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

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

Параметры

Cake\ORM\Table $table
Сущность таблицы.
Cake\Datasource\EntityInterface $entity
Сущность для сохранения связанных данных.
массив $associations
Список ассоциаций для сохранения родительских элементов. Ассоциации, не включённые в этот список, не будут сохранены.
массив $options необязательно []
Параметры для операции сохранения.

Возвращает

boolean
Успех

typesource public

type( string|array $class )

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

Параметры

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

Возвращает

array
Массив объектов Association.

Используемые методы из Cake\ORM\AssociationsNormalizerTrait

_normalizeAssociationssource protected

_normalizeAssociations( array $associations )

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

Параметры

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

Возвращает

array
Массив с преобразованием нотации точек во вложенные массивы

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

$_itemssource

protected массив

Хранящиеся ассоциации

[]

© 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.ORM.AssociationCollection.html

Spec-Zone.ru

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