Класс AssociationCollection
Контейнер/коллекция для ассоциативных классов.
Содержит методы для управления ассоциациями и операций упорядочения при сохранении и удалении.
- Cake\ORM\AssociationCollection реализует IteratorAggregate использует Cake\ORM\AssociationsNormalizerTrait
Краткое описание свойств
-
$_itemsprotectedСохранённые ассоциацииarray
Краткое описание методов
- _save() protectedВспомогательный метод для сохранения данных ассоциации.
- _saveAssociations() protectedВспомогательный метод для сохранения данных ассоциации.
- add() publicДобавить ассоциацию в коллекцию
- cascadeDelete() public
Каскадное удаление по различным ассоциациям. Сначала каскадное удаление по ассоциациям, для которых cascadeCallbacks равно true.
- get() publicПолучение присоединённой ассоциации по имени.
- getByProperty() publicПолучение ассоциации по имени свойства.
- getIterator() publicРазрешить циклический проход по ассоциациям
- has() publicПроверка наличия присоединённой ассоциации по имени.
- keys() publicПолучение имён всех ассоциаций в коллекции.
- normalizeKeys() public
Возвращает ассоциативный массив имён ассоциаций из смешанного массива. Если передано true, возвращает все имена ассоциаций в этой коллекции.
- remove() publicУдаление ассоциации.
- removeAll() publicУдаление всех зарегистрированных ассоциаций.
- saveChildren() publicСохранение всех ассоциаций, являющихся дочерними для данного сущности.
- saveParents() publicСохранение всех ассоциаций, являющихся родительскими для данной сущности.
- type() publicПолучение массива ассоциаций, соответствующих определённому типу.
Подробное описание методов
_save()source 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Успех
_saveAssociations()source 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При использовании неизвестного псевдонима.
add()source public
add( string $alias , Cake\ORM\Association $association )
Добавить ассоциацию в коллекцию
Если добавленный псевдоним содержит ., часть перед . будет удалена. Это упрощает использование плагинов, так как часто используется синтаксис Plugin.Class.
Параметры
- строка
$alias - Псевдоним ассоциации
-
Cake\ORM\Association$association - Ассоциация для добавления.
Возвращаемое значение
Cake\ORM\AssociationОбъект добавляемой ассоциации.
cascadeDelete()source public
cascadeDelete( Cake\Datasource\EntityInterface $entity , array $options )
Каскадное удаление по различным ассоциациям. Сначала каскадное удаление по ассоциациям, для которых cascadeCallbacks равно true.
Параметры
-
Cake\Datasource\EntityInterface$entity - Сущность, для которой удаляются ассоциации.
- массив
$options - Параметры, используемые в операции удаления.
get()source public
get( string $alias )
Получение присоединённой ассоциации по имени.
Параметры
- строка
$alias - Псевдоним ассоциации для получения.
Возвращаемое значение
Cake\ORM\Association|nullАссоциация или null.
getByProperty()source public
getByProperty( string $prop )
Получение ассоциации по имени свойства.
Параметры
- строка
$prop - Свойство для поиска ассоциации.
Возвращаемое значение
Cake\ORM\Association|nullАссоциация или null.
getIterator()source public
getIterator( )
Разрешить циклический проход по ассоциациям
Возвращаемое значение
ArrayIteratorРеализация
IteratorAggregate::getIterator() has()source public
has( string $alias )
Проверка наличия присоединённой ассоциации по имени.
Параметры
- строка
$alias - Псевдоним ассоциации для получения.
Возвращаемое значение
booleanСуществует ли ассоциация.
keys()source public
keys( )
Получение имён всех ассоциаций в коллекции.
Возвращаемое значение
массивnormalizeKeys()source public
normalizeKeys( boolean|array $keys )
Возвращает ассоциативный массив имён ассоциаций из смешанного массива. Если передано true, возвращает все имена ассоциаций в этой коллекции.
Параметры
- boolean|массив
$keys - список имён ассоциаций для нормализации
Возвращаемое значение
массивremove()source public
remove( string $alias )
Удаление ассоциации.
После удаления к ассоциации больше нельзя получить доступ
Параметры
- строка
$alias - Имя псевдонима.
removeAll()source public
removeAll( )
Удаление всех зарегистрированных ассоциаций.
После удаления к ассоциациям больше нельзя получить доступ
saveChildren()source public
saveChildren( Cake\ORM\Table $table , Cake\Datasource\EntityInterface $entity , array $associations , array $options )
Сохранить все ассоциации, которые являются дочерними для данного сущности.
Дочерние ассоциации включают любые ассоциации, где заданная таблица не является стороной владения.
Parameters
-
Cake\ORM\Table$table - Сущность таблицы.
-
Cake\Datasource\EntityInterface$entity - Сущность для сохранения связанных данных.
- array
$associations Список ассоциаций для сохранения дочерних элементов. Ассоциации, не входящие в этот список, не будут сохранены.
- array
$options - Параметры для операции сохранения.
Returns
booleanУспех
saveParents()source public
saveParents( Cake\ORM\Table $table , Cake\Datasource\EntityInterface $entity , array $associations , array $options [] )
Сохранить все ассоциации, которые являются родительскими для данной сущности.
Родительские ассоциации включают любые ассоциации, где данная таблица является стороной владения.
Parameters
-
Cake\ORM\Table$table - Сущность таблицы.
-
Cake\Datasource\EntityInterface$entity - Сущность для сохранения связанных данных.
- array
$associations Список ассоциаций для сохранения родительских элементов. Ассоциации, не входящие в этот список, не будут сохранены.
- array
$optionsoptional [] - Параметры для операции сохранения.
Returns
booleanУспех
type()source public
type( string|array $class )
Получить массив ассоциаций, соответствующих определённому типу.
Parameters
- string|array
$class Тип ассоциаций, например 'BelongsTo' или массив ['BelongsTo', 'HasOne'].
Returns
arrayМассив объектов Association.
Методы, используемые из Cake\ORM\AssociationsNormalizerTrait
_normalizeAssociations()source protected
_normalizeAssociations( array $associations )
Возвращает массив из исходного списка ассоциаций, где обозначение точек преобразуется в вложенные массивы, чтобы их можно было обработать другими процедурами.
Parameters
- array
$associations - Массив включённых ассоциаций.
Returns
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.2/class-Cake.ORM.AssociationCollection.html