Класс AssociationCollection
Контейнер/коллекция для классов ассоциаций.
Содержит методы для управления ассоциациями и операций упорядочивания сохранения и удаления.
- Cake\ORM\AssociationCollection реализует IteratorAggregate использует Cake\ORM\AssociationsNormalizerTrait
Подробное описание методов
_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( )
Разрешить перебор ассоциаций
Возвращает
ArrayIteratorArrayIterator
Реализация
IteratorAggregate::getIterator() hassource public
has( string $alias )
Проверка наличия присоединённой ассоциации по имени.
Параметры
- строка
$alias - Псевдоним ассоциации для получения.
Возвращает
booleanСуществует ли ассоциация.
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Массив с преобразованием нотации точек во вложенные массивы
Краткое описание свойств
© 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