Spec-Zone.ru › CakePHP 3.6

Класс BelongsToMany

Представляет отношение М - Н, где существует соединительная таблица, содержащая поля связи между исходной и целевой таблицами.

Пример отношения BelongsToMany: Статья принадлежит многим тегам.

Cake\ORM\Association использует Cake\Core\ConventionsTrait , Cake\ORM\Locator\LocatorAwareTrait
Расширяется Cake\ORM\Association\BelongsToMany
Пространство имён: Cake\ORM\Association
Расположение: ORM/Association/BelongsToMany.php

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

  • string

    SAVE_APPEND
    'append'
  • string

    SAVE_REPLACE
    'replace'

Унаследованные константы

  • MANY_TO_MANY, MANY_TO_ONE, ONE_TO_MANY, ONE_TO_ONE, STRATEGY_JOIN, STRATEGY_SELECT, STRATEGY_SUBQUERY

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

  • $_dependent protected
    boolean

    Удалять ли записи в соединительной таблице при удалении записи в исходной таблице.

  • $_joinType protected
    string
    Тип соединения, используемого при добавлении ассоциации в запрос.
  • $_junctionAssociationName protected
    string

    Имя ассоциации hasMany от целевой таблицы к соединительной таблице.

  • $_junctionConditions protected
    null|array
    Фильтрованные условия, ссылающиеся на соединительную таблицу.
  • $_junctionProperty protected
    string

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

  • $_junctionTable protected
    Cake\ORM\Table
    Экземпляр соединительной таблицы.
  • $_junctionTableName protected
    string
    Название соединительной таблицы.
  • $_saveStrategy protected
    string
    Стратегия сохранения, используемая этой ассоциацией.
  • $_sort protected
    mixed
    Порядок возврата записей целевой таблицы.
  • $_strategy protected
    string
    Имя стратегии, используемой для извлечения связанных записей.
  • $_targetConditions protected
    null|array
    Фильтрованные условия, ссылающиеся на целевую таблицу.
  • $_targetForeignKey protected
    string|array
    Имя поля, представляющего внешний ключ целевой таблицы.
  • $_through protected
    string|Cake\ORM\Table
    Экземпляр таблицы для связи.
  • $_validStrategies protected
    array
    Допустимые стратегии для этого типа ассоциации.

Унаследованные свойства

  • _bindingKey, _cascadeCallbacks, _className, _conditions, _finder, _foreignKey, _name, _propertyName, _sourceTable, _targetTable _tableLocator

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

  • _appendJunctionJoin() protected
    Добавить соединение к таблице связи.
  • _appendNotMatching() protected

    Условно добавляет условие к переданному запросу, которое будет искать записи, где нет совпадения с этим сопоставлением.

  • _checkPersistenceStatus() protected
    Выбрасывает исключение, если какой-либо из переданных сущностей не сохранён.
  • _collectJointEntities() protected

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

  • _diffLinks() protected

    Вспомогательный метод, используемый для удаления различий между ссылками, переданными в $existing и $jointEntities. Этот метод вернёт значения из $targetEntities, которые не были удалены при вычислении разницы.

  • _generateJunctionAssociations() protected
    Генерирует ассоциации в таблице связи при необходимости.
  • _generateSourceAssociations() protected
    Генерирует дополнительные ассоциации исходной таблицы при необходимости.
  • _generateTargetAssociations() protected
    Генерирует взаимные ассоциации при необходимости.
  • _joinCondition() protected
    Возвращает false, так как условия объединения определены в таблице связи.
  • _junctionAssociationName() protected

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

  • _junctionTableName() protected

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

  • _options() protected
    Обработка дополнительных параметров, переданных в конструктор.
  • _saveLinks() protected
    Создаёт связи между исходной сущностью и каждой из переданных целевых сущностей.
  • _saveTarget() protected

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

  • attachTo() public

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

  • canBeJoined() public
    Можно ли выполнить объединение этой ассоциации напрямую в запросе.
  • cascadeDelete() public
    Очистить данные в таблице связи для данной сущности.
  • defaultRowValue() public

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

  • eagerLoader() public

    Загружает список записей в целевой таблице, которые связаны с другой группой записей в исходной таблице. Записи исходной таблицы могут быть указаны двумя способами: во-первых, путём передачи объекта запроса, настроенного для поиска в исходной таблице, и, во-вторых, путём явного передачи массива значений первичных ключей из исходной таблицы.

  • find() public

    Делегирует операцию поиска методу find целевой таблицы и соответственно изменяет запрос на основе конфигурации этой ассоциации.

  • getForeignKey() public
    Получает имя поля, представляющего внешний ключ к исходной таблице.
  • getSaveStrategy() public
    Получает стратегию, которая должна быть использована для сохранения.
  • getSort() public
    Получает порядок сортировки, в котором должны возвращаться целевые записи.
  • getTargetForeignKey() public
    Получает имя поля, представляющего внешний ключ к целевой таблице.
  • getThrough() public
    Получает текущую таблицу объединения, либо имя экземпляра таблицы, либо сам экземпляр.
  • isOwningSide() public

    Возвращает boolean true, так как обе таблицы «владеют» строками в другой стороне ассоциации через таблицу связи.

  • junction() public

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

  • junctionConditions() protected

    Возвращает отфильтрованные условия, которые конкретно ссылаются на таблицу связи.

  • link() public

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

  • replaceLinks() public

    Заменяет существующие связи ассоциации между исходной сущностью и целью на переданные. Этот метод выполняет интеллектуальную очистку: ссылки, которые уже сохранены и присутствуют в $targetEntities, не будут удалены, новые ссылки будут созданы для переданных целевых сущностей, которые ещё не находятся в базе данных, а остальные будут удалены.

  • saveAssociated() public

    Берёт сущность из исходной таблицы и проверяет, есть ли поле, соответствующее имени свойства для этой ассоциации. Найденная сущность будет сохранена в целевой таблице для этой ассоциации путём передачи переданных $options

  • saveStrategy() public deprecated

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

  • setConditions() public

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

  • setSaveStrategy() public
    Устанавливает стратегию, которая должна использоваться для сохранения.
  • setSort() public
    Устанавливает порядок сортировки, в котором должны возвращаться целевые записи.
  • setTargetForeignKey() public
    Устанавливает имя поля, представляющего внешний ключ к целевой таблице.
  • setThrough() public
    Устанавливает текущую таблицу объединения, либо имя экземпляра таблицы, либо сам экземпляр.
  • sort() public deprecated

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

  • targetConditions() protected
    Возвращает отфильтрованные условия, которые ссылаются на целевую таблицу.
  • targetForeignKey() public deprecated

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

  • type() public
    Получить тип взаимосвязи.
  • unlink() public

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

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

_appendJunctionJoin()source protected

_appendJunctionJoin( Cake\ORM\Query $query , string|array $conditions )

Добавляет соединение к таблице соединения.

Параметры

Cake\ORM\Query $query
Запрос для добавления.
строка|массив $conditions
Условие запроса для использования.

Возвращает

Cake\ORM\Query
Изменённый запрос.

_appendNotMatching()source protected

_appendNotMatching( Cake\Datasource\QueryInterface $query , array $options )

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

Параметры

Cake\Datasource\QueryInterface $query
Запрос для модификации
массив $options
Массив опций, содержащий ключ negateMatch.

Переопределяет

Cake\ORM\Association::_appendNotMatching()

_checkPersistenceStatus()source protected

_checkPersistenceStatus( Cake\Datasource\EntityInterface $sourceEntity , array $targetEntities )

Выбрасывает исключение, если какая-либо из переданных сущностей не сохранена.

Параметры

Cake\Datasource\EntityInterface $sourceEntity

строка, относящаяся к стороне source этой ассоциации

массив $targetEntities

список сущностей, относящихся к стороне target этой ассоциации

Возвращает

boolean

Выбрасывает

InvalidArgumentException

_collectJointEntities()source protected

_collectJointEntities( Cake\Datasource\EntityInterface $sourceEntity , array $targetEntities )

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

Параметры

Cake\Datasource\EntityInterface $sourceEntity

Строка, относящаяся к стороне источника данной ассоциации.

массив $targetEntities

Строки, относящиеся к целевой стороне этой ассоциации.

Возвращает

массив

Выбрасывает

InvalidArgumentException

если у какой-либо из сущностей отсутствует значение первичного ключа


_diffLinks()source protected

_diffLinks( Cake\ORM\Query $existing , array $jointEntities , array $targetEntities , array $options = [] )

Вспомогательный метод, используемый для удаления различий между ссылками, переданными в $existing и $jointEntities. Этот метод вернёт значения из $targetEntities, которые не были удалены при вычислении разницы.

Параметры

Cake\ORM\Query $existing
запрос для получения существующих ссылок
массив $jointEntities
сущности ссылок, которые должны быть сохранены
массив $targetEntities

сущности в целевой таблице, связанные с $jointEntities

массив $options необязательно []
список опций, принимаемых Table::delete()

Возвращает

массив

_generateJunctionAssociations()source protected

_generateJunctionAssociations( Cake\ORM\Table $junction , Cake\ORM\Table $source , Cake\ORM\Table $target )

Генерирует необходимые ассоциации в таблице соединения.

Генерирует следующие ассоциации:

  • таблица_соединения принадлежит таблице_источника, например, ArticlesTags принадлежит Tags
  • таблица_соединения принадлежит таблице_цели, например, ArticlesTags принадлежит Articles

Вы можете переопределить эти сгенерированные ассоциации, определив ассоциации с соответствующими псевдонимами.

Параметры

Cake\ORM\Table $junction
Таблица соединения.
Cake\ORM\Table $source
Таблица источника.
Cake\ORM\Table $target
Таблица цели.

_generateSourceAssociations()source protected

_generateSourceAssociations( Cake\ORM\Table $junction , Cake\ORM\Table $source )

Генерирует дополнительные ассоциации с таблицей источника по мере необходимости.

Генерирует следующие ассоциации:

  • таблица_источника имеет_множество таблицы_соединения, например, Tags имеет_множество ArticlesTags

Вы можете переопределить эти сгенерированные ассоциации, определив ассоциации с соответствующими псевдонимами.

Параметры

Cake\ORM\Table $junction
Таблица соединения.
Cake\ORM\Table $source
Таблица источника.

_generateTargetAssociations()source protected

_generateTargetAssociations( Cake\ORM\Table $junction , Cake\ORM\Table $source , Cake\ORM\Table $target )

Генерирует взаимные ассоциации по мере необходимости.

Генерирует следующие ассоциации:

  • таблица_цели имеет_множество таблицы_соединения, например, Articles имеет_множество ArticlesTags
  • таблица_цели принадлежит_многим таблице_источника, например, Articles принадлежит_многим Tags.

Вы можете переопределить эти сгенерированные ассоциации, определив ассоциации с соответствующими псевдонимами.

Параметры

Cake\ORM\Table $junction
Таблица соединения.
Cake\ORM\Table $source
Таблица источника.
Cake\ORM\Table $target
Таблица цели.

_joinCondition()source protected

_joinCondition( array $options )

Возвращает false, так как условия соединения определены в таблице соединения

Параметры

массив $options
список опций, переданных методу attachTo

Возвращает

boolean
false

Выбрасывает

RuntimeException

если количество столбцов в foreignKey не соответствует количеству столбцов в первичном ключе таблицы источника


Переопределяет

Cake\ORM\Association::_joinCondition()

_junctionAssociationName()source protected

_junctionAssociationName( )

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

Возвращает

строка

_junctionTableName()source protected

_junctionTableName( string|null $name = null )

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

Параметры

строка|null $name необязательно null
Имя таблицы соединения.

Возвращает

строка

_options()source protected

_options( array $opts )

Обрабатывает дополнительные параметры, переданные в конструктор.

Параметры

массив $opts
Исходный список параметров, переданных в конструктор

Переопределяет

Cake\ORM\Association::_options()

_saveLinks()source protected

_saveLinks( Cake\Datasource\EntityInterface $sourceEntity , array $targetEntities , array $options )

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

Параметры

Cake\Datasource\EntityInterface $sourceEntity

сущность из таблицы источника в этой ассоциации

массив $targetEntities

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

массив $options
список опций, принимаемых Table::save()

Возвращает

boolean
успех

_saveTarget()source protected

_saveTarget( Cake\Datasource\EntityInterface $parentEntity , array|Traversable $entities , array $options )

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

Параметры

Cake\Datasource\EntityInterface $parentEntity

сущность-источник, содержащая целевые сущности, которые нужно сохранить.

array|Traversable $entities

список сущностей для сохранения в целевой таблице и для связи с родительской сущностью

array $options
список опций, принимаемых Table::save()

Возвращает

Cake\Datasource\EntityInterface|boolean

Родительская сущность после создания всех связей, если ошибок не произошло, в противном случае false


Выбрасывает

InvalidArgumentException

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


attachTo()source public

attachTo( Cake\ORM\Query $query , array $options = [] )

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

Массив опций принимает следующие ключи:

  • includeFields: Включать ли поля целевой модели в результат
  • foreignKey: Название поля, используемого в качестве внешнего ключа, если false — не использовать
  • conditions: массив с условиями фильтрации объединения
  • fields: список полей в целевой таблице, которые нужно включить в результат
  • type: Тип объединения (например, INNER)

Параметры

Cake\ORM\Query $query
запрос, который нужно изменить, чтобы включить данные целевой таблицы
array $options optional []
Дополнительные опции или переопределения, которые нужно учесть

Выбрасывает

RuntimeException

если переданный билдер запросов не возвращает объект запроса


Переопределяет

Cake\ORM\Association::attachTo()

canBeJoined()source public

canBeJoined( array $options = [] )

Можно ли выразить эту ассоциацию напрямую в объединении запроса

Параметры

array $options optional []
пользовательские опции, которые могут изменить результат

Возвращает

boolean

если ключ 'matching' в $option равен true, то функция вернёт true, иначе false


Переопределяет

Cake\ORM\Association::canBeJoined()

cascadeDelete()source public

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

Очищает данные в таблице соединения для заданной сущности.

Параметры

Cake\Datasource\EntityInterface $entity
Сущность, которая инициировала каскадное удаление.
array $options optional []
Опции для исходного удаления.

Возвращает

boolean
Успех.

defaultRowValue()source public

defaultRowValue( array $row , boolean $joined )

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

Параметры

array $row
Строка, для которой нужно установить значение по умолчанию.
boolean $joined

Является ли строка результатом прямого объединения с этой ассоциацией

Возвращает

array

Переопределяет

Cake\ORM\Association::defaultRowValue()

eagerLoader()source public

eagerLoader( array $options )

Загружает жадно список записей в целевой таблице, которые связаны с другой группой записей в исходной таблице. Записи-источники можно указать двумя способами: первый — передать объект Query, настроенный для поиска в исходной таблице, другой — явно передать массив значений первичного ключа из исходной таблицы.

Параметры

array $options
Опции для жадной загрузки.

Возвращает

Closure

find()source public

find( string|array|null $type = null , array $options = [] )

Делегирует операцию поиска методу find целевой таблицы и соответствующим образом изменяет запрос на основе конфигурации этой ассоциации.

Если ваша ассоциация содержит условия, таблица соединения будет включена в связанные ассоциации запроса.

Параметры

string|array|null $type optional null

тип выполняемого запроса, если передаётся массив, он будет интерпретироваться как $options параметр

array $options optional []
Опции для поиска

Возвращает

Cake\ORM\Query

См. также

\Cake\ORM\Table::find()

Переопределяет

Cake\ORM\Association::find()

getForeignKey()source public

getForeignKey( )

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

Возвращает

string

Переопределяет

Cake\ORM\Association::getForeignKey()

getSaveStrategy()source public

getSaveStrategy( )

Возвращает стратегию, которая должна использоваться для сохранения.

Возвращает

string
используемая стратегия сохранения

getSort()source public

getSort( )

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

Возвращает

mixed

getTargetForeignKey()source public

getTargetForeignKey( )

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

Возвращает

string

getThrough()source public

getThrough( )

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

Возвращает

string|Cake\ORM\Table

isOwningSide()source public

isOwningSide( Cake\ORM\Table $side )

Возвращает boolean true, так как обе таблицы «владеют» строками на другой стороне ассоциации через таблицу соединения.

Параметры

Cake\ORM\Table $side
Возможная таблица с владением

Возвращает

boolean

junction()source public

junction( string|Cake\ORM\Table|null $table = null )

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

Параметры

string|Cake\ORM\Table|null $table optional null
Имя или экземпляр таблицы соединения

Возвращает

Cake\ORM\Table

junctionConditions()source protected

junctionConditions( )

Возвращает отфильтрованные условия, которые относятся именно к таблице соединения.

Возвращает

array
END_OF_DOCUMENT_MARKER

link()source public

link( Cake\Datasource\EntityInterface $sourceEntity , array $targetEntities , array $options = [] )

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

При использовании этого метода все сущности в $targetEntities будут добавлены в свойство сущности источника, соответствующее этому объекту ассоциации.

Этот метод не проверяет уникальность ссылок.

Пример:

$newTags = $tags->find('relevant')->toArray();
$articles->getAssociation('tags')->link($article, $newTags);

$article->get('tags') будет содержать все теги из $newTags после связывания

Параметры

Cake\Datasource\EntityInterface $sourceEntity

строка, относящаяся к стороне source этой ассоциации

массив $targetEntities

список сущностей, относящихся к стороне target этой ассоциации

массив $options необязательно []
список параметров, передаваемых внутреннему вызову save

Возвращает

boolean
true при успехе, иначе false

Выбрасывает

InvalidArgumentException

если какое-либо из значений в $targetEntities не обнаружено как уже сохраненное


replaceLinks()source public

replaceLinks( Cake\Datasource\EntityInterface $sourceEntity , array $targetEntities , array $options = [] )

Заменяет существующие связи ассоциации между сущностью источника и целевыми сущностями на переданные. Этот метод выполняет интеллектуальную очистку: ссылки, которые уже сохранены и присутствуют в $targetEntities, не будут удалены, новые ссылки будут созданы для переданных целевых сущностей, которые ещё не в базе данных, а остальные будут удалены.

Например, если статья связана с тегами 'cake' и 'framework', и вы передаёте в этот метод массив, содержащий сущности для тегов 'cake', 'php' и 'awesome', то только ссылка для 'cake' сохранится в базе данных, ссылка для 'framework' будет удалена, а ссылки для 'php' и 'awesome' будут созданы.

Существующие ссылки не удаляются и не создаются заново, они либо остаются без изменений, либо обновляются, чтобы не потерять потенциальную дополнительную информацию, хранящуюся в строке соединения. Обновление строки соединения можно выполнить, убедившись, что соответствующая переданная целевая сущность содержит свойство соединения с её первичным ключом и любой дополнительной информацией, подлежащей хранению.

При успехе переданный $sourceEntity будет содержать $targetEntities в качестве значения в соответствующем свойстве для этой ассоциации.

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

Дополнительные параметры для сохранения новых ссылок могут быть переданы в третьем аргументе, см. Table::save() для информации о поддерживаемых параметрах.

Пример:

$article->tags = [$tag1, $tag2, $tag3, $tag4];
$articles->save($article);
$tags = [$tag1, $tag3];
$articles->getAssociation('tags')->replaceLinks($article, $tags);

$article->get('tags') будет содержать только [$tag1, $tag3] в конце

Параметры

Cake\Datasource\EntityInterface $sourceEntity

персистентная сущность в таблице источника для этой ассоциации

массив $targetEntities
список сущностей из целевой таблицы, которые нужно связать
массив $options необязательно []

список параметров, передаваемых внутренним вызовам save/delete при сохранении/обновлении новых ссылок или удалении существующих

Возвращает

boolean
успех

Выбрасывает

InvalidArgumentException

если переданы неперсистентные сущности или у какой-либо из них отсутствует значение первичного ключа


saveAssociated()source public

saveAssociated( Cake\Datasource\EntityInterface $entity , array $options = [] )

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

При использовании стратегии 'append' эта функция будет создавать только новые ссылки между каждой стороной этой ассоциации. Она не будет уничтожать существующие, даже если они отсутствуют в массиве сущностей, которые необходимо сохранить.

При использовании стратегии 'replace' существующие ссылки будут удалены, и новые ссылки будут созданы в таблице соединения. Если в базе данных существуют ссылки на некоторые сущности, которые предполагается сохранить этим методом, они будут обновлены, а не удалены.

Параметры

Cake\Datasource\EntityInterface $entity
сущность из таблицы источника
массив $options необязательно []
параметры, передаваемые методу сохранения в целевой таблице

Возвращает

boolean|Cake\Datasource\EntityInterface

false, если $entity не удалось сохранить, в противном случае возвращает сохранённую сущность


Выбрасывает

InvalidArgumentException

если свойство, представляющее ассоциацию в сущности родителя, невозможно проследить


См. также

\Cake\ORM\Table::save()
\Cake\ORM\Association\BelongsToMany::replaceLinks()

saveStrategy()source public устаревший

saveStrategy( string|null $strategy = null )

Устанавливает стратегию, которая должна быть использована для сохранения. Если вызвана без аргументов, она вернёт текущую конфигурированную стратегию

Устаревший

3.4.0 Используйте setSaveStrategy()/getSaveStrategy() вместо этого.

Параметры

строка|null $strategy необязательно null
имя стратегии, которое должно быть использовано

Возвращает

строка
стратегия, которая должна быть использована для сохранения

Выбрасывает

InvalidArgumentException
если передано недопустимое имя стратегии

setConditions()source public

setConditions( array|callable $conditions )

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

Параметры

массив|вызов $conditions
список используемых условий

Возвращает


$this

Переопределяет

Cake\ORM\Association::setConditions()

setSaveStrategy()source public

setSaveStrategy( string $strategy )

Устанавливает стратегию, которая должна быть использована для сохранения.

Параметры

строка $strategy
имя используемой стратегии

Возвращает


$this

Выбрасывает

InvalidArgumentException
если передано недопустимое имя стратегии

setSort()source public

setSort( mixed $sort )

Устанавливает порядок сортировки, в котором целевые записи должны возвращаться.

Параметры

смешанный $sort
условие сортировки, совместимое с find()

Возвращает


$this

setTargetForeignKey()source public

setTargetForeignKey( string $key )

Устанавливает имя поля, представляющего внешний ключ к целевой таблице.

Параметры

строка $key
ключ, используемый для связывания обеих таблиц

Возвращает


$this

setThrough()source public

setThrough( string|Cake\ORM\Table $through )

Устанавливает текущую таблицу соединения, либо имя экземпляра Table, либо сам экземпляр.

Параметры

строка|Cake\ORM\Table $through
Имя экземпляра Table или сам экземпляр

Возвращает


$this

sort()source public устаревший

sort( mixed $sort = null )

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

Устаревший

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

Параметры

смешанный $sort необязательно null
условие сортировки, совместимое с find()

Возвращает

смешанный

targetConditions()source protected

targetConditions( )

Возвращает отфильтрованные условия, которые ссылаются на целевую таблицу.

Любые строковые выражения или объекты выражений также будут возвращены в этом списке.

Возвращает

смешанный

Обычно массив. Если условия не являются массивом, условия ассоциации будут возвращены без изменений.


END_OF_DOCUMENT_MARKER

targetForeignKey()source public deprecated

targetForeignKey( string|null $key = null )

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

Устаревшее

3.4.0 Используйте setTargetForeignKey()/getTargetForeignKey() вместо этого.

Параметры

string|null $key необязательно null
ключ, используемый для связи обеих таблиц

Возвращает

string

type()source public

type( )

Получить тип связи.

Возвращает

string

unlink()source public

unlink( Cake\Datasource\EntityInterface $sourceEntity , array $targetEntities , array|boolean $options = [] )

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

Параметры

В дополнение к стандартным параметрам, принимаемым Table::delete(), поддерживаются следующие ключи:

  • cleanProperty: Удалять ли все объекты в $targetEntities , которые хранятся в $sourceEntity (по умолчанию: true)

По умолчанию этот метод удалит каждый из объектов сущностей, хранящихся внутри сущности источника.

Пример:

$article->tags = [$tag1, $tag2, $tag3, $tag4];
$tags = [$tag1, $tag2, $tag3];
$articles->getAssociation('tags')->unlink($article, $tags);

$article->get('tags') будет содержать только [$tag4] после удаления в базе данных

Параметры

Cake\Datasource\EntityInterface $sourceEntity

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

array $targetEntities

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

array|boolean $options необязательно []

Список параметров, передаваемых в внутренний вызов delete, или объект boolean в качестве сокращения по ключу %%%CODE_BLOCK_234%%.

Возвращает

boolean
Успех

Исключения

InvalidArgumentException

Если переданы не сохраненные сущности или у любой из них отсутствует значение первичного ключа.


Методы, унаследованные от Cake\ORM\Association

__call()source public

__call( string $method , array $argument )

Делегирует вызовы методов целевой таблице.

Параметры

string $method
имя вызываемого метода
array $argument
Список аргументов, переданных функции

Возвращает

mixed

Исключения

BadMethodCallException

__construct()source public

__construct( string $alias , array $options = [] )

Конструктор. Подклассы могут переопределить функцию _options, чтобы получить исходный список переданных параметров, если ожидаются какие-либо другие специальные ключи

Параметры

string $alias
Имя ассоциации
array $options необязательно []
Список свойств, которые необходимо установить для этого объекта

__get()source public

__get( string $property )

Делегирует получение свойств целевой таблице. Это полезно для получения ассоциаций этой ассоциации.

Параметры

string $property
имя свойства

Возвращает

Cake\ORM\Association

Исключения

RuntimeException
если ассоциации с таким именем не существует

__isset()source public

__isset( string $property )

Делегирует вызов isset целевой таблице. Это удобно для проверки, есть ли у целевой таблицы другая ассоциация с указанным именем.

Параметры

string $property
имя свойства

Возвращает

boolean
true, если свойство существует

_appendFields()source protected

_appendFields( Cake\ORM\Query $query , Cake\ORM\Query $surrogate , array $options )

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

Параметры

Cake\ORM\Query $query
запрос, которому будут добавлены поля
Cake\ORM\Query $surrogate
запрос, содержащий поля, которые нужно скопировать
array $options
параметры, передаваемые методу attachTo

_bindNewAssociations()source protected

_bindNewAssociations( Cake\ORM\Query $query , Cake\ORM\Query $surrogate , array $options )

Применяет все присоединяемые ассоциации к $query из содержаний, найденных в запросе %%%CODE_BLOCK_255%%.

Копирует все связанные ассоциации из запроса $surrogate в переданный %%%CODE_BLOCK_257%%. Содержимое изменяется так, чтобы оно соответствовало цепочке ассоциаций, из которой они были получены.

Параметры

Cake\ORM\Query $query
запрос, которому будут добавлены ассоциации
Cake\ORM\Query $surrogate
запрос, содержащий связи, которые необходимо добавить
array $options
параметры, передаваемые методу attachTo

_dispatchBeforeFind()source protected

_dispatchBeforeFind( Cake\ORM\Query $query )

Вызывает beforeFind в целевой таблице для запроса, к которому присоединяется эта ассоциация.

Параметры

Cake\ORM\Query $query
запрос, к которому присоединяется эта ассоциация

_extractFinder()source protected

_extractFinder( string|array $finderData )

Вспомогательный метод для вывода запрошенного поиска и его параметров.

Возвращает выведенные параметры из поиска $type.

Примеры:

Следующие действия вызовут поиск 'translations' с значением поиска в качестве параметров: $query->contain(['Comments' => ['finder' => ['translations']]]); $query->contain(['Comments' => ['finder' => ['translations' => []]]]); $query->contain(['Comments' => ['finder' => ['translations' => ['locales' => ['en_US']]]]]);

Параметры

string|array $finderData

Имя поиска или массив, содержащий имя в качестве ключа и параметры в качестве значения.

Возвращает

array

_formatAssociationResults()source protected

_formatAssociationResults( Cake\ORM\Query $query , Cake\ORM\Query $surrogate , array $options )

Добавляет функцию форматирования к переданному $query , если запрос $surrogate объявляет другую функцию форматирования. Так как запрос $surrogate соответствует связанной целевой таблице, результирующая функция форматирования будет результатом применения функций форматирования только к свойству, соответствующему такой таблице.

Параметры

Cake\ORM\Query $query
запрос, которому будет применено форматирование
Cake\ORM\Query $surrogate

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

array $options
параметры, передаваемые методу attachTo

_getClassName()source protected

_getClassName( string $alias , array $options = [] )

Получает имя класса таблицы.

Параметры

string $alias
Имя псевдонима, которое нужно получить.
array $options необязательно []
Массив параметров таблицы.

Возвращает

string

_propertyName()source protected

_propertyName( )

Возвращает имя свойства по умолчанию на основе имени ассоциации.

Возвращает

string
END_OF_DOCUMENT_MARKER

bindingKey()source public deprecated

bindingKey( string|null $key = null )

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

Если параметры не переданы, возвращается текущее поле.

Устаревшее

3.4.0 Используйте setBindingKey()/getBindingKey() вместо этого.

Параметры

string|null $key необязательно null
поле таблицы, используемое для связывания обеих таблиц

Возвращает

string|array

cascadeCallbacks()source public deprecated

cascadeCallbacks( boolean|null $cascadeCallbacks = null )

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

Устаревшее

3.4.0 Используйте setCascadeCallbacks()/getCascadeCallbacks() вместо этого.

Параметры

boolean|null $cascadeCallbacks необязательно null
значение переключателя каскадных обратных вызовов

Возвращает

boolean

className()source public

className( )

Имя класса объекта целевой таблицы

Возвращает

string

conditions()source public deprecated

conditions( array|null $conditions = null )

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

Устаревшее

3.4.0 Используйте setConditions()/getConditions() вместо этого.

Параметры

array|null $conditions необязательно null
список условий для использования

Возвращает

array|callable

См. также

\Cake\Database\Query::where() для примеров формата массива

deleteAll()source public

deleteAll( mixed $conditions )

Делегирует операцию удаления методу deleteAll целевой таблицы

Параметры

mixed $conditions

Условия для использования, принимает все, что может принять Query::where().

Возвращает

integer
Возвращает количество затронутых строк.

См. также

\Cake\ORM\Table::deleteAll()

dependent()source public deprecated

dependent( boolean|null $dependent = null )

Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.

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

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

Устаревшее

3.4.0 Используйте setDependent()/getDependent() вместо этого.

Параметры

boolean|null $dependent необязательно null
Установить режим зависимости. Используйте null, чтобы прочитать текущее состояние.

Возвращает

boolean

exists()source public

exists( array|callable|Cake\Database\ExpressionInterface $conditions )

Делегирует операцию методу exists целевой таблицы после добавления стандартных условий для этого объединения

Параметры

array|callable|Cake\Database\ExpressionInterface $conditions

Условие для проверки наличия соответствий.

Возвращает

boolean

См. также

\Cake\ORM\Table::exists()

finder()source public deprecated

finder( string|null $finder = null )

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

Устаревшее

3.4.0 Используйте setFinder()/getFinder() вместо этого.

Параметры

string|null $finder необязательно null
имя поиска для использования

Возвращает

string|array

foreignKey()source public deprecated

foreignKey( string|null $key = null )

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

Устаревшее

3.4.0 Используйте setForeignKey()/getForeignKey() вместо этого.

Параметры

string|null $key необязательно null
ключ для связывания обеих таблиц

Возвращает

string|array

getBindingKey()source public

getBindingKey( )

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

Возвращает

string|array

getCascadeCallbacks()source public

getCascadeCallbacks( )

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

Возвращает

boolean

getConditions()source public

getConditions( )

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

Возвращает

array|callable

См. также

\Cake\Database\Query::where() для примеров формата массива

getDependent()source public

getDependent( )

Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.

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

Возвращает

boolean

getFinder()source public

getFinder( )

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

Возвращает

string|array

getJoinType()source public

getJoinType( )

Возвращает тип объединения, используемый при добавлении объединения в запрос.

Возвращает

string

getName()source public

getName( )

Возвращает имя этого объединения, обычно псевдоним целевой связанной таблицы

Возвращает

string

getProperty()source public

getProperty( )

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

Возвращает

string

getSource()source public

getSource( )

Возвращает экземпляр таблицы для исходной стороны объединения.

Возвращает

Cake\ORM\Table

getStrategy()source public

getStrategy( )

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

Возвращает

string
END_OF_DOCUMENT_MARKER

getTarget()source public

getTarget( )

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

Возвращает

Cake\ORM\Table

joinType()source public deprecated

joinType( string|null $type = null )

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

Устаревшее

3.4.0 Используйте setJoinType()/getJoinType() вместо этого.

Параметры

string|null $type необязательно null
тип соединения (например, INNER)

Возвращает

string

name()source public deprecated

name( string|null $name = null )

Устанавливает имя для этой ассоциации.

Устаревшее

3.4.0 Используйте setName()/getName() вместо этого.

Параметры

string|null $name необязательно null
Присваиваемое имя

Возвращает

string

property()source public deprecated

property( string|null $name = null )

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

Устаревшее

3.4.0 Используйте setProperty()/getProperty() вместо этого.

Параметры

string|null $name необязательно null
Имя свойства ассоциации. Используйте null, чтобы прочитать текущее значение.

Возвращает

string

requiresKeys()source public

requiresKeys( array $options = [] )

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

Параметры

array $options необязательно []
Опции, содержащие используемую стратегию.

Возвращает

boolean
true, если список ключей потребуется

setBindingKey()source public

setBindingKey( string|array $key )

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

Параметры

string|array $key
поле или поля таблицы, используемые для связи обеих таблиц

Возвращает


$this

setCascadeCallbacks()source public

setCascadeCallbacks( boolean $cascadeCallbacks )

Устанавливает, будут ли срабатывать отложенные вызовы при каскадных удалениях.

Параметры

boolean $cascadeCallbacks
значение переключателя отложенных вызовов

Возвращает


$this

setDependent()source public

setDependent( boolean $dependent )

Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.

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

Если параметры не переданы, возвращается текущее значение.

Параметры

boolean $dependent
Установить зависимый режим. Используйте null, чтобы прочитать текущее состояние.

Возвращает


$this

setFinder()source public

setFinder( string|array $finder )

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

Параметры

string|array $finder
имя метода поиска или массив из имени метода поиска и опции.

Возвращает


$this

setForeignKey()source public

setForeignKey( string|array $key )

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

Параметры

string|array $key
ключ или ключи, используемые для связи обеих таблиц

Возвращает


$this

setJoinType()source public

setJoinType( string $type )

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

Параметры

string $type
тип соединения (например, INNER)

Возвращает


$this

setName()source public

setName( string $name )

Устанавливает имя для этой ассоциации, обычно псевдоним, присвоенный целевой связанной таблице

Параметры

string $name
Присваиваемое имя

Возвращает


$this

setProperty()source public

setProperty( string $name )

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

Параметры

string $name
Имя свойства ассоциации. Используйте null, чтобы прочитать текущее значение.

Возвращает


$this

setSource()source public

setSource( Cake\ORM\Table $table )

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

Параметры

Cake\ORM\Table $table
экземпляр, который будет назначен на исходную сторону

Возвращает


$this

setStrategy()source public

setStrategy( string $name )

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

Параметры

string $name
Тип стратегии. Используйте null, чтобы прочитать текущее значение.

Возвращает


$this

Выбрасывает

InvalidArgumentException
Если предоставлена недопустимая стратегия.

setTarget()source public

setTarget( Cake\ORM\Table $table )

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

Параметры

Cake\ORM\Table $table
экземпляр, который будет назначен на целевую сторону

Возвращает


$this

source()source public deprecated

source( Cake\ORM\Table $table = null )

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

Устаревшее

3.4.0 Используйте setSource()/getSource() вместо этого.

Параметры

Cake\ORM\Table $table необязательно null
экземпляр, который будет назначен на исходную сторону

Возвращает

Cake\ORM\Table

strategy()source public deprecated

strategy( string|null $name = null )

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

Устаревшее

3.4.0 Используйте setStrategy()/getStrategy() вместо этого.

Параметры

string|null $name необязательно null
Тип стратегии. Используйте null, чтобы прочитать текущее значение.

Возвращает

string

Выбрасывает

InvalidArgumentException
Если предоставлена недопустимая стратегия.
END_OF_DOCUMENT_MARKER

target()source public deprecated

target( Cake\ORM\Table $table = null )

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

Deprecated

3.4.0 Используйте setTarget()/getTarget() вместо этого.

Параметры

Cake\ORM\Table $table опционально null
экземпляр, который необходимо назначить для целевой стороны

Возвращает

Cake\ORM\Table

transformRow()source public

transformRow( array $row , string $nestKey , boolean $joined , string|null $targetProperty = null )

Правильно вкладывает связанные значения строки результата в правильные ключи массива внутри исходных результатов.

Параметры

массив $row
Строка для преобразования
строка $nestKey

Ключ массива, в котором должны находиться результаты этой ассоциации

логическое значение $joined

Является ли строка результатом прямого объединения с данной ассоциацией

строка|null $targetProperty опционально null

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

Возвращает

массив

updateAll()source public

updateAll( array $fields , mixed $conditions )

Делегирует операцию обновления методу updateAll целевой таблицы

Параметры

массив $fields
Хэш поля => новое значение.
смешанное $conditions

Условия, которые должны быть использованы, поддерживает всё, что поддерживает Query::where().

Возвращает

целое число
Количество изменённых строк.

См. также

\Cake\ORM\Table::updateAll()

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

_camelize()source protected

_camelize( string $name )

Создаёт версию $name с использованием «камеллизации»

Параметры

строка $name
Имя

Возвращает

строка
«Камелизированное» имя

_entityName()source protected

_entityName( string $name )

Создаёт правильное имя сущности (единственное число) для указанного имени

Параметры

строка $name
Имя

Возвращает

строка
«Камелизированное» и множественное имя модели

_fixtureName()source protected

_fixtureName( string $name )

Создаёт имя фикстуры

Параметры

строка $name
Имя класса модели

Возвращает

строка
Ключ модели в единственном числе

_modelKey()source protected

_modelKey( string $name )

Создаёт правильный ключь модели с нижним подчеркиванием для ассоциаций

Если вход содержит точку, предполагается, что правая часть — это фактическое имя таблицы.

Параметры

строка $name
Имя класса модели

Возвращает

строка
Ключ модели в единственном числе

_modelNameFromKey()source protected

_modelNameFromKey( string $key )

Создаёт правильное имя модели из внешнего ключа

Параметры

строка $key
Внешний ключ

Возвращает

строка
Имя модели

_pluginNamespace()source protected

_pluginNamespace( string $pluginName )

Возвращает имя пространства имён плагина

Параметры

строка $pluginName
Имя плагина

Возвращает

строка
Пространство имён плагина

_pluginPath()source protected

_pluginPath( string $pluginName )

Находит правильный путь к плагину. Проверяет $pluginPaths для нужного плагина.

Параметры

строка $pluginName
Имя нужного плагина, например DebugKit

Возвращает

строка
Путь к плагину

_pluralHumanName()source protected

_pluralHumanName( string $name )

Создаёт множественное человекопонятное имя, используемое в представлениях

Параметры

строка $name
Имя контроллера

Возвращает

строка
Множественное человекопонятное имя

_singularHumanName()source protected

_singularHumanName( string $name )

Создаёт единственное человекопонятное имя, используемое в представлениях

Параметры

строка $name
Имя контроллера

Возвращает

строка
Единственное человекопонятное имя

_singularName()source protected

_singularName( string $name )

Создаёт единственное имя для использования в представлениях

Параметры

строка $name
Имя для использования

Возвращает

строка
Имя переменной

_variableName()source protected

_variableName( string $name )

Создаёт множественное имя переменной для представлений

Параметры

строка $name
Имя для использования

Возвращает

строка
Множественное имя для представлений

Методы, используемые из 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 )

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

Deprecated

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

Параметры

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

Возвращает

Cake\ORM\Locator\LocatorInterface

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

$_dependentsource

protected логическое значение

Указывает, должны ли записи в таблице объединения удаляться при удалении записи в исходной таблице.

По умолчанию установлено в true для обратной совместимости.

true

$_joinTypesource

protected строка

Тип объединения, который будет использоваться при добавлении ассоциации в запрос

Cake\ORM\Association\QueryInterface::JOIN_TYPE_INNER

$_junctionAssociationNamesource

protected строка

Имя ассоциации hasMany от целевой таблицы к таблице объединения

END_OF_DOCUMENT_MARKER

$_junctionConditionssource

protected null|array

Отфильтрованные условия, ссылающиеся на таблицу соединения.

$_junctionPropertysource

protected string

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

'_joinData'

$_junctionTablesource

protected Cake\ORM\Table

Экземпляр таблицы соединения

$_junctionTableNamesource

protected string

Имя таблицы соединения

$_saveStrategysource

protected string

Стратегия сохранения, используемая для этой ассоциации

self::SAVE_REPLACE

$_sortsource

protected mixed

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

$_strategysource

protected string

Имя стратегии, используемой для получения связанных записей.

self::STRATEGY_SELECT

$_targetConditionssource

protected null|array

Отфильтрованные условия, ссылающиеся на целевую таблицу.

$_targetForeignKeysource

protected string|array

Имя поля, представляющего внешний ключ к целевой таблице

$_throughsource

protected string|Cake\ORM\Table

Экземпляр таблицы для связи соединения.

$_validStrategiessource

protected array

Допустимые стратегии для этого типа ассоциации

[
    self::STRATEGY_SELECT,
    self::STRATEGY_SUBQUERY
]

© 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.6/class-Cake.ORM.Association.BelongsToMany.html

Spec-Zone.ru

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