Spec-Zone.ru › CakePHP 3.8

Класс AssociationCollection

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

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

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

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

  • $_items protected
    Cake\ORM\Association[]
    Сохранённые ассоциации

Наследуемые свойства

  • _tableLocator

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

  • __construct() public
    Конструктор.
  • _getNoCascadeItems() protected
    Возвращает элементы, у которых нет обратного вызова каскадирования.
  • _save() protected
    Вспомогательный метод для сохранения данных ассоциации.
  • _saveAssociations() protected
    Вспомогательный метод для сохранения данных ассоциации.
  • add() public
    Добавить ассоциацию в коллекцию
  • cascadeDelete() public

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

  • get() public
    Получить присоединённую ассоциацию по имени.
  • getByProperty() public
    Получить ассоциацию по имени свойства.
  • getByType() public
    Получить массив ассоциаций, соответствующих определённому типу.
  • getIterator() public
    Разрешить перебор ассоциаций
  • has() public
    Проверить наличие присоединённой ассоциации по имени.
  • keys() public
    Получить имена всех ассоциаций в коллекции.
  • load() public
    Создаёт и добавляет объект Association в эту коллекцию.
  • normalizeKeys() public

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

  • remove() public
    Удалить ассоциацию.
  • removeAll() public
    Удалить все зарегистрированные ассоциации.
  • saveChildren() public
    Сохранить все ассоциации, являющиеся дочерними для данного сущности.
  • saveParents() public
    Сохранить все ассоциации, являющиеся родительскими для данной сущности.
  • type() public deprecated
    Получить массив ассоциаций, соответствующих определённому типу.

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

__construct()source public

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

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

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

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator необязательный null
Экземпляр локатора таблиц.
END_OF_DOCUMENT_MARKER

_getNoCascadeItems()source protected

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

Возвращает элементы, у которых нет обратного вызова каскадирования.

Параметры

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

Возвращает

Cake\ORM\Association[]

_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.

getByType()source public

getByType( string|array $class )

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

Параметры

строка|массив $class

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

Возвращает

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

С момента

3.5.3
END_OF_DOCUMENT_MARKER

getIterator()source public

getIterator( )

Разрешить итерацию по ассоциациям

Возвращает

ArrayIterator

Реализация

IteratorAggregate::getIterator()

has()source public

has( string $alias )

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

Параметры

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

Возвращает

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

keys()source public

keys( )

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

Возвращает

string[]

load()source public

load( string $className , string $associated , array $options = [] )

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

Параметры

string $className
Имя класса ассоциации.
string $associated
Псевдоним целевой таблицы.
array $options необязательно []
Список параметров для настройки определения ассоциации.

Возвращает

Cake\ORM\Association

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

InvalidArgumentException

normalizeKeys()source public

normalizeKeys( boolean|array $keys )

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

Параметры

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

Возвращает

array

remove()source public

remove( string $alias )

Удаляет ассоциацию.

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

Параметры

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

removeAll()source public

removeAll( )

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

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

saveChildren()source public

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

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

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

Параметры

Cake\ORM\Table $table
Сущность для таблицы.
Cake\Datasource\EntityInterface $entity
Сущность для сохранения связанных данных.
array $associations

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

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

Возвращает

boolean
Успех

saveParents()source public

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

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

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

Параметры

Cake\ORM\Table $table
Сущность для таблицы.
Cake\Datasource\EntityInterface $entity
Сущность для сохранения связанных данных.
array $associations

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

array $options необязательно []
Параметры для операции сохранения.

Возвращает

boolean
Успех
END_OF_DOCUMENT_MARKER

type()source public deprecated

type( string|array $class )

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

Устаревшее

3.5.3 Используйте getByType() вместо этого.

Параметры

строка|массив $class

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

Возвращает

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

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

_normalizeAssociations()source protected

_normalizeAssociations( array $associations )

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

Параметры

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

Возвращает

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

Методы, используемые из Cake\ORM\Locator\LocatorAwareTrait

getTableLocator()source public

getTableLocator( )

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

Возвращает

Cake\ORM\Locator\LocatorInterface

setTableLocator()source public

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

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

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator
Экземпляр LocatorInterface.

Возвращает


$this

tableLocator()source public deprecated

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

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

Устаревшее

3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator опционально null
Экземпляр LocatorInterface.

Возвращает

Cake\ORM\Locator\LocatorInterface

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

$_itemssource

protected Cake\ORM\Association[]

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

[]

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

Spec-Zone.ru

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