Класс BelongsToMany
Представляет отношение М - Н, где существует соединительная таблица, содержащая поля связи между исходной и целевой таблицами.
Пример отношения BelongsToMany: Статья принадлежит многим тегам.
- Cake\ORM\Association использует Cake\Core\ConventionsTrait , Cake\ORM\Locator\LocatorAwareTrait
-
Cake\ORM\Association\BelongsToMany
Краткое описание констант
-
string'append' -
string'replace'
Унаследованные константы
-
MANY_TO_MANY,MANY_TO_ONE,ONE_TO_MANY,ONE_TO_ONE,STRATEGY_JOIN,STRATEGY_SELECT,STRATEGY_SUBQUERY
Краткое описание свойств
-
$_dependentprotectedbooleanУдалять ли записи в соединительной таблице при удалении записи в исходной таблице.
-
$_joinTypeprotectedТип соединения, используемого при добавлении связи в запрос.string -
$_junctionAssociationNameprotectedstringИмя ассоциации hasMany из целевой таблицы в соединительную таблицу.
-
$_junctionConditionsprotectedУсловие фильтрации, ссылающееся на соединительную таблицу.null|array -
$_junctionPropertyprotectedstringИмя свойства, содержащего данные из соединительной таблицы после загрузки записи из целевой таблицы.
- Экземпляр соединительной таблицы.
$_junctionTableprotected -
$_junctionTableNameprotectedИмя соединительной таблицы.string -
$_saveStrategyprotectedСтратегия сохранения, используемая данной ассоциацией.string -
$_sortprotectedПорядок, в котором должны возвращаться записи целевой таблицы.mixed -
$_strategyprotectedИмя стратегии, используемой для получения связанных записей.string -
$_targetConditionsprotectedУсловие фильтрации, ссылающееся на целевую таблицу.null|array -
$_targetForeignKeyprotectedИмя поля, представляющего внешний ключ целевой таблицы.string|array -
$_throughprotectedЭкземпляр таблицы для связи.string|Cake\ORM\Table -
$_validStrategiesprotectedДопустимые стратегии для данного типа ассоциации.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
Возвращает
booleanfalse
Исключение
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успех
_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
$optionsoptional [] - Дополнительные опции или переопределения, которые необходимо учесть
Выбрасывает
RuntimeExceptionесли переданный билдер запросов не возвращает объект запроса
Переопределяет
Cake\ORM\Association::attachTo() canBeJoined()source public
canBeJoined( array $options [] )
Возможно ли прямое выражение этой ассоциации в объединении запроса
Параметры
- array
$optionsoptional [] - дополнительные параметры, которые могут изменить возвращаемое значение
Возвращает
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
$optionsoptional [] - опции для исходного удаления.
Возвращает
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 - Опции для жадной загрузки.
Возвращает
Closurefind()source public
find( string|array|null $type null , array $options [] )
Делегирует операцию поиска методу поиска целевой таблицы и соответственно изменяет запрос на основе конфигурации этой ассоциации.
Если ваша ассоциация включает условия, таблица соединения будет включена в ассоциации запроса.
Параметры
- string|array|null
$typeoptional null тип запроса, если передаётся массив, он будет интерпретирован как параметр
$options- array
$optionsoptional [] - Опции для поиска
Возвращает
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( )
Получает порядок сортировки, в котором должны возвращаться целевые записи.
Возвращает
mixedgetTargetForeignKey()source public
getTargetForeignKey( )
Получает имя поля, представляющего внешний ключ к целевой таблице.
Возвращает
stringgetThrough()source public
getThrough( )
Получает текущую таблицу соединения, либо имя экземпляра таблицы, либо сам экземпляр.
Возвращает
string|Cake\ORM\TableisOwningSide()source public
isOwningSide( Cake\ORM\Table $side )
Возвращает boolean true, так как обе таблицы «владеют» строками на другой стороне ассоциации через таблицу соединения.
Параметры
-
Cake\ORM\Table$side - Возможная таблица с правом собственности
Возвращает
booleanjunction()source public
junction( string|Cake\ORM\Table|null $table null )
Устанавливает экземпляр таблицы для отношения соединения. Если аргументы не переданы, возвращается текущий настроенный экземпляр таблицы
Параметры
- string|
Cake\ORM\Table|null$tableoptional null - Имя или экземпляр таблицы соединения
Возвращает
Cake\ORM\TablejunctionConditions()source protected
junctionConditions( )
Возвращает отфильтрованные условия, которые конкретно ссылаются на таблицу соединения.
Возвращает
arraylink()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
Возвращаемое значение
booleantrue при успехе, иначе 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\EntityInterfacefalse, если $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( )
Возвращает отфильтрованные условия, которые ссылаются на целевую таблицу.
Любые строковые выражения или объекты выражений также будут возвращены в этом списке.
Возвращаемое значение
смешанныйОбычно массив. Если условия не являются массивом, условия ассоциации будут возвращены без изменений.
targetForeignKey()source public
targetForeignKey( string|null $key null )
Устанавливает имя поля, представляющего внешний ключ для целевой таблицы. Если параметры не переданы, возвращается текущее поле.
Устаревший
3.4.0 Используйте setTargetForeignKey()/getTargetForeignKey() вместо этого.Параметры
- string|null
$keyнеобязательно null - ключ, используемый для связи обеих таблиц
Возвращает
stringunlink()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 - Имя свойства
Возвращает
booleantrue, если свойство существует
_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( )
Возвращает имя свойства по умолчанию, основанное на имени ассоциации.
Возвращает
stringbindingKey()source public
bindingKey( string|null $key null )
Устанавливает имя поля, представляющего поле связи с целевой таблицей. Если не указано вручную, используется первичный ключ таблицы со стороны владельца.
Если параметры не переданы, возвращается текущее поле.
Устаревшее
3.4.0 Используйте setBindingKey()/getBindingKey() вместо этого.Параметры
- string|null
$keyнеобязательно null - поле таблицы, используемое для связывания обеих таблиц
Возвращает
string|arraycascadeCallbacks()source public
cascadeCallbacks( boolean|null $cascadeCallbacks null )
Устанавливает, должны ли также выполняться обратные вызовы при каскадных удалениях. Если аргументы не переданы, возвращается текущее настроенное значение.
Устаревшее
3.4.0 Используйте setCascadeCallbacks()/getCascadeCallbacks() вместо этого.Параметры
- boolean|null
$cascadeCallbacksнеобязательно null - значение переключателя каскадных обратных вызовов
Возвращает
booleanconditions()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 для чтения текущего состояния.
Возвращает
booleanexists()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 - имя поиска для использования
Возвращает
stringforeignKey()source public
foreignKey( string|null $key null )
Устанавливает имя поля, представляющего внешний ключ для целевой таблицы. Если параметры не переданы, возвращается текущее поле
Устаревшее
3.4.0 Используйте setForeignKey()/getForeignKey() вместо этого.Параметры
- string|null
$keyнеобязательно null - ключ, используемый для связывания обеих таблиц
Возвращает
string|arraygetBindingKey()source public
getBindingKey( )
Получает имя поля, представляющего поле связи с целевой таблицей. Если не указано вручную, используется первичный ключ таблицы со стороны владельца.
Возвращает
string|arraygetCascadeCallbacks()source public
getCascadeCallbacks( )
Получает, должны ли также выполняться обратные вызовы при каскадных удалениях.
Возвращает
booleangetConditions()source public
getConditions( )
Получает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
Возвращает
array|callableСм.
\Cake\Database\Query::where() для примеров формата массиваgetDependent()source public
getDependent( )
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
Это используется в основном для указания, что записи должны быть удалены, если владеющая запись в исходной таблице удалена.
Возвращает
booleangetFinder()source public
getFinder( )
Получает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
Возвращает
stringgetJoinType()source public
getJoinType( )
Получает тип соединения, который будет использоваться при добавлении ассоциации в запрос.
Возвращает
stringgetName()source public
getName( )
Получает имя этой ассоциации, обычно псевдоним целевой связанной таблицы
Возвращает
stringgetProperty()source public
getProperty( )
Получает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
Возвращает
stringgetSource()source public
getSource( )
Получает экземпляр таблицы для исходной стороны ассоциации.
Возвращает
Cake\ORM\TablegetStrategy()source public
getStrategy( )
Получает имя стратегии, которое будет использоваться для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но по умолчанию стратегию, что делает любые изменения в этом настройке недействительными.
Возвращает
stringgetTarget()source public
getTarget( )
Получает экземпляр таблицы для целевой стороны ассоциации.
Возвращает
Cake\ORM\TablejoinType()source public
joinType( string|null $type null )
Устанавливает тип соединения, который будет использоваться при добавлении ассоциации в запрос. Если аргументы не переданы, возвращается текущий настроенный тип.
Устарело
3.4.0 Используйте setJoinType()/getJoinType() вместо этого.Параметры
- string|null
$typeнеобязательно null - тип соединения (например, INNER)
Возвращает
stringname()source public
name( string|null $name null )
Устанавливает имя для этой ассоциации.
Устарело
3.4.0 Используйте setName()/getName() вместо этого.Параметры
- string|null
$nameнеобязательно null - Назначаемое имя
Возвращает
stringproperty()source public
property( string|null $name null )
Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы. Если аргументы не переданы, возвращается текущий настроенный тип.
Устарело
3.4.0 Используйте setProperty()/getProperty() вместо этого.Параметры
- string|null
$nameнеобязательно null - Имя свойства ассоциации. Используйте null для чтения текущего значения.
Возвращает
stringrequiresKeys()source public
requiresKeys( array $options [] )
Возвращает true, если процесс ленивой загрузки потребует набор ключей связывания таблицы владельца, чтобы использовать их в качестве фильтра в запросе нахождения.
Параметры
- array
$optionsнеобязательно [] - Опции, содержащие стратегию, которая должна быть использована.
Возвращает
booleantrue, если список ключей будет необходим
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\Tablestrategy()source public
strategy( string|null $name null )
Устанавливает имя стратегии, которое будет использоваться для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но по умолчанию стратегию, что делает любые изменения в этом параметре недействительными. Если аргументы не переданы, возвращается текущая настроенная стратегия.
Устарело
3.4.0 Используйте setStrategy()/getStrategy() вместо этого.Параметры
- string|null
$nameнеобязательно null - Тип стратегии. Используйте null для чтения текущего значения.
Возвращает
stringВыбрасывает
InvalidArgumentExceptionПри предоставлении недопустимой стратегии.
target()source public
target( Cake\ORM\Table $table null )
Устанавливает экземпляр таблицы для целевой стороны ассоциации. Если аргументы не переданы, возвращается текущий настроенный экземпляр таблицы.
Устарело
3.4.0 Используйте setTarget()/getTarget() вместо этого.Параметры
-
Cake\ORM\Table$tableнеобязательно null - экземпляр, который нужно назначить как целевую сторону
Возвращает
Cake\ORM\TabletransformRow()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\LocatorInterfacesetTableLocator()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
$_junctionAssociationNamesource
protected строка
Имя ассоциации hasMany от целевой таблицы к таблице соединения
$_junctionConditionssource
protected null|массив
Отфильтрованные условия, ссылающиеся на таблицу соединения.
$_junctionPropertysource
protected строка
Имя свойства, которое будет содержать данные из таблицы соединения после того, как запись из целевой таблицы будет обработана
'_joinData'
$_saveStrategysource
protected строка
Стратегия сохранения, которая будет использоваться этой ассоциацией
self::SAVE_REPLACE
$_strategysource
protected строка
Имя стратегии, которая будет использоваться для извлечения связанных записей.
self::STRATEGY_SELECT
$_targetConditionssource
protected null|массив
Отфильтрованные условия, ссылающиеся на целевую таблицу.
$_targetForeignKeysource
protected строка|массив
Имя поля, представляющего внешний ключ к целевой таблице
$_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