Spec-Zone.ru › CakePHP 3.5

Класс BelongsToMany

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

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

Cake\ORM\Association использует Cake\Core\ConventionsTrait , Cake\ORM\Locator\LocatorAwareTrait
Extended by 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

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

  • setConditions() public

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

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

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

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

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

  • type() public
    Получение типа отношения.
  • unlink() public

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

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

_appendJunctionJoin()source protected

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

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

Параметры

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

Возвращает

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

_appendNotMatching()source protected

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

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

Параметры

Cake\Datasource\QueryInterface $query
Запрос, который нужно изменить
array $options
Массив параметров, содержащий ключ negateMatch.

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

Cake\ORM\Association::_appendNotMatching()

_checkPersistenceStatus()source protected

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

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

Параметры

Cake\Datasource\EntityInterface $sourceEntity

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

array $targetEntities

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

Возвращает

boolean

Исключение

InvalidArgumentException

_collectJointEntities()source protected

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

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

Параметры

Cake\Datasource\EntityInterface $sourceEntity

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

array $targetEntities

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

Возвращает

array

Исключение

InvalidArgumentException

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


_diffLinks()source protected

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

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

Параметры

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

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

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

Возвращает

array

_generateJunctionAssociations()source protected

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

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

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

  • соединение belongsTo источник, например, ArticlesTags belongsTo Tags
  • соединение belongsTo цель, например, ArticlesTags belongsTo 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 )

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

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

  • источник hasMany соединение, например, Tags hasMany 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 )

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

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

  • цель hasMany соединение, например, Articles hasMany ArticlesTags
  • цель belongsToMany источник, например Articles belongsToMany Tags.

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

Параметры

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

_joinCondition()source protected

_joinCondition( array $options )

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

Параметры

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

Возвращает

boolean
false

Исключение

RuntimeException

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


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

Cake\ORM\Association::_joinCondition()

_junctionAssociationName()source protected

_junctionAssociationName( )

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

Возвращает

string

_junctionTableName()source protected

_junctionTableName( string|null $name null )

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

Параметры

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

Возвращает

string

_options()source protected

_options( array $opts )

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

Параметры

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

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

Cake\ORM\Association::_options()

_saveLinks()source protected

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

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

Параметры

Cake\Datasource\EntityInterface $sourceEntity

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

array $targetEntities

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

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

Возвращает

boolean
успех
END_OF_DOCUMENT_MARKER

_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 [] )

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

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

  • 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 [] )

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

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

Параметры

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->association('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->association('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 )

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

Параметры

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

Возвращаемое значение


$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

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->association('tags')->unlink($article, $tags);

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

Параметры

Cake\Datasource\EntityInterface $sourceEntity

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

array $targetEntities

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

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

список параметров, передаваемых во внутренний вызов delete, или значение boolean

Возвращает

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 )

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

Параметры

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 из содержаний, найденных в запросе $surrogate. Копирует все содержащиеся ассоциации из запроса $surrogate в переданный $query. Содержимое изменяется так, чтобы оно соответствовало цепочке ассоциаций, из которой оно возникло.

Параметры

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 )

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

Возвращает вывод параметров от findera $type.

Примеры:

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

Параметры

string|array $finderData

Имя findera или массив с именем в качестве ключа и параметрами в качестве значения.

Возвращает

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

bindingKey()source public

bindingKey( string|null $key null )

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

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

Устаревшее

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

Параметры

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

Возвращает

string|array

cascadeCallbacks()source public

cascadeCallbacks( boolean|null $cascadeCallbacks null )

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

Устаревшее

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

Параметры

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

Возвращает

boolean

className()source public

className( )

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

Возвращает

string

conditions()source public

conditions( array|null $conditions null )

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

Устаревшее

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

Параметры

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

Возвращает

array

См.

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

deleteAll()source public

deleteAll( mixed $conditions )

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

Параметры

mixed $conditions

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

Возвращает

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

См.

\Cake\ORM\Table::deleteAll()

dependent()source public

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

finder( string|null $finder null )

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

Устаревшее

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

Параметры

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

Возвращает

string

foreignKey()source public

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

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

joinType( string|null $type null )

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

Устарело

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

Параметры

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

Возвращает

string

name()source public

name( string|null $name null )

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

Устарело

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

Параметры

string|null $name необязательно null
Назначаемое имя

Возвращает

string

property()source public

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 $finder )

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

Параметры

string $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

source( Cake\ORM\Table $table null )

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

Устарело

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

Параметры

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

Возвращает

Cake\ORM\Table

strategy()source public

strategy( string|null $name null )

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

Устарело

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

Параметры

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

Возвращает

string

Выбрасывает

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

target()source public

target( Cake\ORM\Table $table null )

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

Устарело

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

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

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

Устарело

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
END_OF_DOCUMENT_MARKER

$_junctionAssociationNamesource

protected строка

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

$_junctionConditionssource

protected null|массив

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

$_junctionPropertysource

protected строка

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

'_joinData'

$_junctionTablesource

protected Cake\ORM\Table

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

$_junctionTableNamesource

protected строка

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

$_saveStrategysource

protected строка

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

self::SAVE_REPLACE

$_sortsource

protected смешанный тип

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

$_strategysource

protected строка

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

self::STRATEGY_SELECT

$_targetConditionssource

protected null|массив

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

$_targetForeignKeysource

protected строка|массив

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

$_throughsource

protected строка|Cake\ORM\Table

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

$_validStrategiessource

protected массив

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

[
    self::STRATEGY_SELECT,
    self::STRATEGY_SUBQUERY
]

© 2005–2018 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.5/class-Cake.ORM.Association.BelongsToMany.html

Spec-Zone.ru

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