Класс BelongsToMany
Представляет отношение М - Н, где существует соединительная таблица, содержащая поля связи между исходной и целевой таблицами.
Пример отношения BelongsToMany: Статья принадлежит многим тегам.
- Cake\ORM\Association использует Cake\Core\ConventionsTrait , Cake\ORM\Locator\LocatorAwareTrait
-
Cake\ORM\Association\BelongsToMany
Краткое описание констант
-
stringSAVE_APPEND'append' -
stringSAVE_REPLACE'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 -
Устанавливает стратегию, которая должна быть использована для сохранения. Если вызов без аргументов, возвращается текущая настроенная стратегия.
- setConditions() public
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
- setSaveStrategy() publicУстанавливает стратегию, которая должна использоваться для сохранения.
- setSort() publicУстанавливает порядок сортировки, в котором должны возвращаться целевые записи.
- setTargetForeignKey() publicУстанавливает имя поля, представляющего внешний ключ к целевой таблице.
- setThrough() publicУстанавливает текущую таблицу объединения, либо имя экземпляра таблицы, либо сам экземпляр.
-
Устанавливает порядок сортировки, в котором должны возвращаться целевые записи. Если аргументы не переданы, возвращается текущее значение.
- targetConditions() protectedВозвращает отфильтрованные условия, которые ссылаются на целевую таблицу.
-
Устанавливает имя поля, представляющего внешний ключ к целевой таблице. Если параметры не переданы, возвращается текущее поле.
- type() publicПолучить тип взаимосвязи.
- unlink() public
Удаляет все связи между переданной сущностью источника и каждой из предоставленных целевых сущностей. Этот метод предполагает, что все переданные объекты уже сохранены в базе данных и что каждый из них содержит значение первичного ключа.
Подробное описание метода
_appendJunctionJoin()source protected
_appendJunctionJoin( Cake\ORM\Query $query , string|array $conditions )
Добавляет соединение к таблице соединения.
Параметры
-
Cake\ORM\Query$query - Запрос для добавления.
- строка|массив
$conditions - Условие запроса для использования.
Возвращает
Cake\ORM\QueryИзменённый запрос.
_appendNotMatching()source protected
_appendNotMatching( Cake\Datasource\QueryInterface $query , array $options )
Условно добавляет условие в переданный запрос, которое позволит найти записи, где нет совпадения с данной ассоциацией.
Параметры
-
Cake\Datasource\QueryInterface$query - Запрос для модификации
- массив
$options - Массив опций, содержащий ключ
negateMatch.
Переопределяет
Cake\ORM\Association::_appendNotMatching() _checkPersistenceStatus()source protected
_checkPersistenceStatus( Cake\Datasource\EntityInterface $sourceEntity , array $targetEntities )
Выбрасывает исключение, если какая-либо из переданных сущностей не сохранена.
Параметры
-
Cake\Datasource\EntityInterface$sourceEntity строка, относящаяся к стороне
sourceэтой ассоциации- массив
$targetEntities список сущностей, относящихся к стороне
targetэтой ассоциации
Возвращает
booleanВыбрасывает
InvalidArgumentException_collectJointEntities()source protected
_collectJointEntities( Cake\Datasource\EntityInterface $sourceEntity , array $targetEntities )
Возвращает список связанных сущностей, которые существуют между сущностью источника и каждой из переданных целевых сущностей
Параметры
-
Cake\Datasource\EntityInterface$sourceEntity Строка, относящаяся к стороне источника данной ассоциации.
- массив
$targetEntities Строки, относящиеся к целевой стороне этой ассоциации.
Возвращает
массивВыбрасывает
InvalidArgumentExceptionесли у какой-либо из сущностей отсутствует значение первичного ключа
_diffLinks()source protected
_diffLinks( Cake\ORM\Query $existing , array $jointEntities , array $targetEntities , array $options = [] )
Вспомогательный метод, используемый для удаления различий между ссылками, переданными в $existing и $jointEntities. Этот метод вернёт значения из $targetEntities, которые не были удалены при вычислении разницы.
Параметры
-
Cake\ORM\Query$existing - запрос для получения существующих ссылок
- массив
$jointEntities - сущности ссылок, которые должны быть сохранены
- массив
$targetEntities сущности в целевой таблице, связанные с
$jointEntities- массив
$optionsнеобязательно [] - список опций, принимаемых
Table::delete()
Возвращает
массив_generateJunctionAssociations()source protected
_generateJunctionAssociations( Cake\ORM\Table $junction , Cake\ORM\Table $source , Cake\ORM\Table $target )
Генерирует необходимые ассоциации в таблице соединения.
Генерирует следующие ассоциации:
- таблица_соединения принадлежит таблице_источника, например, ArticlesTags принадлежит Tags
- таблица_соединения принадлежит таблице_цели, например, ArticlesTags принадлежит Articles
Вы можете переопределить эти сгенерированные ассоциации, определив ассоциации с соответствующими псевдонимами.
Параметры
-
Cake\ORM\Table$junction - Таблица соединения.
-
Cake\ORM\Table$source - Таблица источника.
-
Cake\ORM\Table$target - Таблица цели.
_generateSourceAssociations()source protected
_generateSourceAssociations( Cake\ORM\Table $junction , Cake\ORM\Table $source )
Генерирует дополнительные ассоциации с таблицей источника по мере необходимости.
Генерирует следующие ассоциации:
- таблица_источника имеет_множество таблицы_соединения, например, Tags имеет_множество ArticlesTags
Вы можете переопределить эти сгенерированные ассоциации, определив ассоциации с соответствующими псевдонимами.
Параметры
-
Cake\ORM\Table$junction - Таблица соединения.
-
Cake\ORM\Table$source - Таблица источника.
_generateTargetAssociations()source protected
_generateTargetAssociations( Cake\ORM\Table $junction , Cake\ORM\Table $source , Cake\ORM\Table $target )
Генерирует взаимные ассоциации по мере необходимости.
Генерирует следующие ассоциации:
- таблица_цели имеет_множество таблицы_соединения, например, Articles имеет_множество ArticlesTags
- таблица_цели принадлежит_многим таблице_источника, например, Articles принадлежит_многим Tags.
Вы можете переопределить эти сгенерированные ассоциации, определив ассоциации с соответствующими псевдонимами.
Параметры
-
Cake\ORM\Table$junction - Таблица соединения.
-
Cake\ORM\Table$source - Таблица источника.
-
Cake\ORM\Table$target - Таблица цели.
_joinCondition()source protected
_joinCondition( array $options )
Возвращает false, так как условия соединения определены в таблице соединения
Параметры
- массив
$options - список опций, переданных методу attachTo
Возвращает
booleanfalse
Выбрасывает
RuntimeExceptionесли количество столбцов в foreignKey не соответствует количеству столбцов в первичном ключе таблицы источника
Переопределяет
Cake\ORM\Association::_joinCondition() _junctionAssociationName()source protected
_junctionAssociationName( )
Возвращает имя ассоциации от целевой таблицы к таблице соединения. Это имя используется для генерации псевдонима в запросе и последующего извлечения результатов.
Возвращает
строка_junctionTableName()source protected
_junctionTableName( string|null $name = null )
Устанавливает имя таблицы соединения. Если аргументы не переданы, возвращается текущее имя конфигурации. Если имя не найдено, генерируется имя по умолчанию, основанное на связанных таблицах.
Параметры
- строка|null
$nameнеобязательно null - Имя таблицы соединения.
Возвращает
строка_options()source protected
_options( array $opts )
Обрабатывает дополнительные параметры, переданные в конструктор.
Параметры
- массив
$opts - Исходный список параметров, переданных в конструктор
Переопределяет
Cake\ORM\Association::_options() _saveLinks()source protected
_saveLinks( Cake\Datasource\EntityInterface $sourceEntity , array $targetEntities , array $options )
Создаёт связи между сущностью источника и каждой из переданных целевых сущностей.
Параметры
-
Cake\Datasource\EntityInterface$sourceEntity сущность из таблицы источника в этой ассоциации
- массив
$targetEntities список сущностей для связи с сущностью источника, используя таблицу соединения
- массив
$options - список опций, принимаемых
Table::save()
Возвращает
booleanуспех
_saveTarget()source protected
_saveTarget( Cake\Datasource\EntityInterface $parentEntity , array|Traversable $entities , array $options )
Сохраняет каждый из сущностей в целевой таблице и создаёт связи между родительской сущностью и каждой из сохранённых целевых сущностей.
Параметры
-
Cake\Datasource\EntityInterface$parentEntity сущность-источник, содержащая целевые сущности, которые нужно сохранить.
- array|Traversable
$entities список сущностей для сохранения в целевой таблице и для связи с родительской сущностью
- array
$options - список опций, принимаемых
Table::save()
Возвращает
Cake\Datasource\EntityInterface|booleanРодительская сущность после создания всех связей, если ошибок не произошло, в противном случае false
Выбрасывает
InvalidArgumentExceptionесли свойство, представляющее ассоциацию в родительской сущности, нельзя пройти
attachTo()source public
attachTo( Cake\ORM\Query $query , array $options = [] )
Изменяет объект запроса, чтобы включить связанные данные целевой таблицы в окончательный результат
Массив опций принимает следующие ключи:
- includeFields: Включать ли поля целевой модели в результат
- foreignKey: Название поля, используемого в качестве внешнего ключа, если false — не использовать
- conditions: массив с условиями фильтрации объединения
- fields: список полей в целевой таблице, которые нужно включить в результат
- type: Тип объединения (например, INNER)
Параметры
-
Cake\ORM\Query$query - запрос, который нужно изменить, чтобы включить данные целевой таблицы
- array
$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 = [] )
Делегирует операцию поиска методу find целевой таблицы и соответствующим образом изменяет запрос на основе конфигурации этой ассоциации.
Если ваша ассоциация содержит условия, таблица соединения будет включена в связанные ассоциации запроса.
Параметры
- 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->getAssociation('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->getAssociation('tags')->replaceLinks($article, $tags); $article->get('tags') будет содержать только [$tag1, $tag3] в конце
Параметры
-
Cake\Datasource\EntityInterface$sourceEntity персистентная сущность в таблице источника для этой ассоциации
- массив
$targetEntities - список сущностей из целевой таблицы, которые нужно связать
- массив
$optionsнеобязательно [] список параметров, передаваемых внутренним вызовам
save/deleteпри сохранении/обновлении новых ссылок или удалении существующих
Возвращает
booleanуспех
Выбрасывает
InvalidArgumentExceptionесли переданы неперсистентные сущности или у какой-либо из них отсутствует значение первичного ключа
saveAssociated()source public
saveAssociated( Cake\Datasource\EntityInterface $entity , array $options = [] )
Взятие сущности из таблицы источника и поиск поля, соответствующего имени свойства для этой ассоциации. Найденная сущность будет сохранена в целевой таблице для этой ассоциации путем передачи предоставленных $options
При использовании стратегии 'append' эта функция будет создавать только новые ссылки между каждой стороной этой ассоциации. Она не будет уничтожать существующие, даже если они отсутствуют в массиве сущностей, которые необходимо сохранить.
При использовании стратегии 'replace' существующие ссылки будут удалены, и новые ссылки будут созданы в таблице соединения. Если в базе данных существуют ссылки на некоторые сущности, которые предполагается сохранить этим методом, они будут обновлены, а не удалены.
Параметры
-
Cake\Datasource\EntityInterface$entity - сущность из таблицы источника
- массив
$optionsнеобязательно [] - параметры, передаваемые методу сохранения в целевой таблице
Возвращает
boolean|Cake\Datasource\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 )
Устанавливает текущую таблицу соединения, либо имя экземпляра Table, либо сам экземпляр.
Параметры
- строка|
Cake\ORM\Table$through - Имя экземпляра Table или сам экземпляр
Возвращает
$this
sort()source public устаревший
sort( mixed $sort = null )
Устанавливает порядок сортировки, в котором целевые записи должны возвращаться. Если не переданы аргументы, возвращается текущее значение
Устаревший
3.5.0 Используйте setSort()/getSort() вместо этого.Параметры
- смешанный
$sortнеобязательно null - условие сортировки, совместимое с find()
Возвращает
смешанныйtargetConditions()source protected
targetConditions( )
Возвращает отфильтрованные условия, которые ссылаются на целевую таблицу.
Любые строковые выражения или объекты выражений также будут возвращены в этом списке.
Возвращает
смешанныйОбычно массив. Если условия не являются массивом, условия ассоциации будут возвращены без изменений.
targetForeignKey()source public deprecated
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->getAssociation('tags')->unlink($article, $tags); $article->get('tags') будет содержать только [$tag4] после удаления в базе данных
Параметры
-
Cake\Datasource\EntityInterface$sourceEntity Сущность, сохранённая в таблице источника для этой ассоциации.
- array
$targetEntities Список сущностей, сохранённых в целевой таблице для этой ассоциации.
- array|boolean
$optionsнеобязательно [] Список параметров, передаваемых в внутренний вызов
delete, или объектbooleanв качестве сокращения по ключу %%%CODE_BLOCK_234%%.
Возвращает
booleanУспех
Исключения
InvalidArgumentExceptionЕсли переданы не сохраненные сущности или у любой из них отсутствует значение первичного ключа.
Методы, унаследованные от Cake\ORM\Association
__call()source public
__call( string $method , array $argument )
Делегирует вызовы методов целевой таблице.
Параметры
- string
$method - имя вызываемого метода
- array
$argument - Список аргументов, переданных функции
Возвращает
mixedИсключения
BadMethodCallException__construct()source public
__construct( string $alias , array $options = [] )
Конструктор. Подклассы могут переопределить функцию _options, чтобы получить исходный список переданных параметров, если ожидаются какие-либо другие специальные ключи
Параметры
- string
$alias - Имя ассоциации
- array
$optionsнеобязательно [] - Список свойств, которые необходимо установить для этого объекта
__get()source public
__get( string $property )
Делегирует получение свойств целевой таблице. Это полезно для получения ассоциаций этой ассоциации.
Параметры
- string
$property - имя свойства
Возвращает
Cake\ORM\AssociationИсключения
RuntimeExceptionесли ассоциации с таким именем не существует
__isset()source public
__isset( string $property )
Делегирует вызов isset целевой таблице. Это удобно для проверки, есть ли у целевой таблицы другая ассоциация с указанным именем.
Параметры
- string
$property - имя свойства
Возвращает
booleantrue, если свойство существует
_appendFields()source protected
_appendFields( Cake\ORM\Query $query , Cake\ORM\Query $surrogate , array $options )
Вспомогательная функция, используемая для условного добавления полей к условию выбора запроса из полей, найденных в другом объекте запроса.
Параметры
-
Cake\ORM\Query$query - запрос, которому будут добавлены поля
-
Cake\ORM\Query$surrogate - запрос, содержащий поля, которые нужно скопировать
- array
$options - параметры, передаваемые методу
attachTo
_bindNewAssociations()source protected
_bindNewAssociations( Cake\ORM\Query $query , Cake\ORM\Query $surrogate , array $options )
Применяет все присоединяемые ассоциации к $query из содержаний, найденных в запросе %%%CODE_BLOCK_255%%.
Копирует все связанные ассоциации из запроса $surrogate в переданный %%%CODE_BLOCK_257%%. Содержимое изменяется так, чтобы оно соответствовало цепочке ассоциаций, из которой они были получены.
Параметры
-
Cake\ORM\Query$query - запрос, которому будут добавлены ассоциации
-
Cake\ORM\Query$surrogate - запрос, содержащий связи, которые необходимо добавить
- array
$options - параметры, передаваемые методу
attachTo
_dispatchBeforeFind()source protected
_dispatchBeforeFind( Cake\ORM\Query $query )
Вызывает beforeFind в целевой таблице для запроса, к которому присоединяется эта ассоциация.
Параметры
-
Cake\ORM\Query$query - запрос, к которому присоединяется эта ассоциация
_extractFinder()source protected
_extractFinder( string|array $finderData )
Вспомогательный метод для вывода запрошенного поиска и его параметров.
Возвращает выведенные параметры из поиска $type.
Примеры:
Следующие действия вызовут поиск 'translations' с значением поиска в качестве параметров: $query->contain(['Comments' => ['finder' => ['translations']]]); $query->contain(['Comments' => ['finder' => ['translations' => []]]]); $query->contain(['Comments' => ['finder' => ['translations' => ['locales' => ['en_US']]]]]);
Параметры
- string|array
$finderData Имя поиска или массив, содержащий имя в качестве ключа и параметры в качестве значения.
Возвращает
array_formatAssociationResults()source protected
_formatAssociationResults( Cake\ORM\Query $query , Cake\ORM\Query $surrogate , array $options )
Добавляет функцию форматирования к переданному $query , если запрос $surrogate объявляет другую функцию форматирования. Так как запрос $surrogate соответствует связанной целевой таблице, результирующая функция форматирования будет результатом применения функций форматирования только к свойству, соответствующему такой таблице.
Параметры
-
Cake\ORM\Query$query - запрос, которому будет применено форматирование
-
Cake\ORM\Query$surrogate запрос, содержащий функции форматирования для связанной целевой таблицы.
- array
$options - параметры, передаваемые методу
attachTo
_getClassName()source protected
_getClassName( string $alias , array $options = [] )
Получает имя класса таблицы.
Параметры
- string
$alias - Имя псевдонима, которое нужно получить.
- array
$optionsнеобязательно [] - Массив параметров таблицы.
Возвращает
string_propertyName()source protected
_propertyName( )
Возвращает имя свойства по умолчанию на основе имени ассоциации.
Возвращает
stringbindingKey()source public deprecated
bindingKey( string|null $key = null )
Устанавливает имя поля, представляющего поле связывания с целевой таблицей. Если не указано явно, используется первичный ключ таблицы владельца.
Если параметры не переданы, возвращается текущее поле.
Устаревшее
3.4.0 Используйте setBindingKey()/getBindingKey() вместо этого.Параметры
- string|null
$keyнеобязательно null - поле таблицы, используемое для связывания обеих таблиц
Возвращает
string|arraycascadeCallbacks()source public deprecated
cascadeCallbacks( boolean|null $cascadeCallbacks = null )
Устанавливает, будут ли вызываться обратные вызовы при каскадном удалении. Если аргументы не переданы, возвращается текущее значение конфигурации.
Устаревшее
3.4.0 Используйте setCascadeCallbacks()/getCascadeCallbacks() вместо этого.Параметры
- boolean|null
$cascadeCallbacksнеобязательно null - значение переключателя каскадных обратных вызовов
Возвращает
booleanconditions()source public deprecated
conditions( array|null $conditions = null )
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевого объединения. Если параметры не переданы, возвращается текущий список.
Устаревшее
3.4.0 Используйте setConditions()/getConditions() вместо этого.Параметры
- array|null
$conditionsнеобязательно null - список условий для использования
Возвращает
array|callableСм. также
\Cake\Database\Query::where() для примеров формата массиваdeleteAll()source public
deleteAll( mixed $conditions )
Делегирует операцию удаления методу deleteAll целевой таблицы
Параметры
- mixed
$conditions Условия для использования, принимает все, что может принять Query::where().
Возвращает
integerВозвращает количество затронутых строк.
См. также
\Cake\ORM\Table::deleteAll()dependent()source public deprecated
dependent( boolean|null $dependent = null )
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
В основном используется для указания того, что записи должны быть удалены, если запись владельца в исходной таблице удаляется.
Если параметры не переданы, возвращается текущая настройка.
Устаревшее
3.4.0 Используйте setDependent()/getDependent() вместо этого.Параметры
- boolean|null
$dependentнеобязательно null - Установить режим зависимости. Используйте null, чтобы прочитать текущее состояние.
Возвращает
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 deprecated
finder( string|null $finder = null )
Устанавливает используемый по умолчанию поиск для извлечения строк из целевой таблицы. Если параметры не переданы, возвращается текущее имя настроенного поиска.
Устаревшее
3.4.0 Используйте setFinder()/getFinder() вместо этого.Параметры
- string|null
$finderнеобязательно null - имя поиска для использования
Возвращает
string|arrayforeignKey()source public deprecated
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( )
Возвращает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
Возвращает
string|arraygetJoinType()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 deprecated
joinType( string|null $type = null )
Устанавливает тип соединения, который будет использоваться при добавлении ассоциации в запрос. Если аргументы не переданы, возвращается текущий настроенный тип.
Устаревшее
3.4.0 Используйте setJoinType()/getJoinType() вместо этого.Параметры
- string|null
$typeнеобязательно null - тип соединения (например, INNER)
Возвращает
stringname()source public deprecated
name( string|null $name = null )
Устанавливает имя для этой ассоциации.
Устаревшее
3.4.0 Используйте setName()/getName() вместо этого.Параметры
- string|null
$nameнеобязательно null - Присваиваемое имя
Возвращает
stringproperty()source public deprecated
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|array $finder )
Устанавливает используемый по умолчанию метод поиска для извлечения строк из целевой таблицы.
Параметры
- string|array
$finder - имя метода поиска или массив из имени метода поиска и опции.
Возвращает
$this
setForeignKey()source public
setForeignKey( string|array $key )
Устанавливает имя поля, представляющего внешний ключ целевой таблицы.
Параметры
- string|array
$key - ключ или ключи, используемые для связи обеих таблиц
Возвращает
$this
setJoinType()source public
setJoinType( string $type )
Устанавливает тип соединения, который будет использоваться при добавлении ассоциации в запрос.
Параметры
- string
$type - тип соединения (например, INNER)
Возвращает
$this
setName()source public
setName( string $name )
Устанавливает имя для этой ассоциации, обычно псевдоним, присвоенный целевой связанной таблице
Параметры
- string
$name - Присваиваемое имя
Возвращает
$this
setProperty()source public
setProperty( string $name )
Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
Параметры
- string
$name - Имя свойства ассоциации. Используйте null, чтобы прочитать текущее значение.
Возвращает
$this
setSource()source public
setSource( Cake\ORM\Table $table )
Устанавливает экземпляр таблицы для исходной стороны ассоциации.
Параметры
-
Cake\ORM\Table$table - экземпляр, который будет назначен на исходную сторону
Возвращает
$this
setStrategy()source public
setStrategy( string $name )
Устанавливает имя стратегии, используемой для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но использовать стратегию по умолчанию, что делает любые изменения в этом параметре бесполезными.
Параметры
- string
$name - Тип стратегии. Используйте null, чтобы прочитать текущее значение.
Возвращает
$this
Выбрасывает
InvalidArgumentExceptionЕсли предоставлена недопустимая стратегия.
setTarget()source public
setTarget( Cake\ORM\Table $table )
Устанавливает экземпляр таблицы для целевой стороны ассоциации.
Параметры
-
Cake\ORM\Table$table - экземпляр, который будет назначен на целевую сторону
Возвращает
$this
source()source public deprecated
source( Cake\ORM\Table $table = null )
Устанавливает экземпляр таблицы для исходной стороны ассоциации. Если аргументы не переданы, возвращается текущий настроенный экземпляр таблицы
Устаревшее
3.4.0 Используйте setSource()/getSource() вместо этого.Параметры
-
Cake\ORM\Table$tableнеобязательно null - экземпляр, который будет назначен на исходную сторону
Возвращает
Cake\ORM\Tablestrategy()source public deprecated
strategy( string|null $name = null )
Устанавливает имя стратегии, используемой для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но использовать стратегию по умолчанию, что делает любые изменения в этом параметре бесполезными. Если аргументы не переданы, возвращается текущая настроенная стратегия.
Устаревшее
3.4.0 Используйте setStrategy()/getStrategy() вместо этого.Параметры
- string|null
$nameнеобязательно null - Тип стратегии. Используйте null, чтобы прочитать текущее значение.
Возвращает
stringВыбрасывает
InvalidArgumentExceptionЕсли предоставлена недопустимая стратегия.
target()source public deprecated
target( Cake\ORM\Table $table = null )
Устанавливает экземпляр таблицы для целевой стороны ассоциации. Если аргументы не переданы, возвращается текущий сконфигурированный экземпляр таблицы.
Deprecated
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 deprecated
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator = null )
Устанавливает локатор таблиц. Если параметры не переданы, возвращает текущий используемый локатор.
Deprecated
3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocatorопционально null - Экземпляр LocatorInterface.
Возвращает
Cake\ORM\Locator\LocatorInterfaceПодробное описание свойств
$_dependentsource
protected логическое значение
Указывает, должны ли записи в таблице объединения удаляться при удалении записи в исходной таблице.
По умолчанию установлено в true для обратной совместимости.
true
$_joinTypesource
protected строка
Тип объединения, который будет использоваться при добавлении ассоциации в запрос
Cake\ORM\Association\QueryInterface::JOIN_TYPE_INNER
$_junctionAssociationNamesource
protected строка
Имя ассоциации hasMany от целевой таблицы к таблице объединения
$_junctionConditionssource
protected null|array
Отфильтрованные условия, ссылающиеся на таблицу соединения.
$_junctionPropertysource
protected string
Имя свойства, которое будет содержать данные из таблицы соединения после загрузки записи из целевой таблицы
'_joinData'
$_saveStrategysource
protected string
Стратегия сохранения, используемая для этой ассоциации
self::SAVE_REPLACE
$_strategysource
protected string
Имя стратегии, используемой для получения связанных записей.
self::STRATEGY_SELECT
$_targetConditionssource
protected null|array
Отфильтрованные условия, ссылающиеся на целевую таблицу.
$_targetForeignKeysource
protected string|array
Имя поля, представляющего внешний ключ к целевой таблице
$_validStrategiessource
protected array
Допустимые стратегии для этого типа ассоциации
[
self::STRATEGY_SELECT,
self::STRATEGY_SUBQUERY
]
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.6/class-Cake.ORM.Association.BelongsToMany.html