Класс BelongsToMany
Представляет отношение М - Н, где существует соединительная таблица, содержащая поля связи между исходной и целевой таблицами.
Примером ассоциации BelongsToMany может служить статья, относящаяся к множеству тегов.
Константы
-
stringMANY_TO_MANY'manyToMany'
Тип ассоциации для много-ко-многих ассоциаций.
-
stringMANY_TO_ONE'manyToOne'
Тип ассоциации для много-к-одному ассоциациям.
-
stringONE_TO_MANY'oneToMany'
Тип ассоциации для одного-к-многим ассоциациям.
-
stringONE_TO_ONE'oneToOne'
Тип ассоциации для одного-к-одному ассоциациям.
-
stringSAVE_APPEND'append'
Стратегия сохранения, которая только добавит ссылки к набору
-
stringSAVE_REPLACE'replace'
Стратегия сохранения, которая заменит ссылки предоставленным набором
-
stringSTRATEGY_JOIN'join'
Имя стратегии использования соединений для извлечения связанных записей
-
stringSTRATEGY_SELECT'select'
Имя стратегии использования запроса SELECT для извлечения связанных записей
-
stringSTRATEGY_SUBQUERY'subquery'
Имя стратегии использования подзапроса для извлечения связанных записей
Краткое описание свойств
- $_bindingKey protected
string|string[]|nullИмя поля в таблице владельца, используемого для сопоставления с foreignKey
- $_cascadeCallbacks protected
boolВключать или нет вызов колбэков при каскадном удалении.
- $_className protected
stringИмя класса объекта целевой таблицы
- $_conditions protected
arrayClosureСписок условий, которые всегда должны включаться при извлечении записей из целевой ассоциации
- $_dependent protected
boolУдалять ли записи в соединительной таблице при удалении записи в исходной таблице.
- $_finder protected
string|arrayИмя используемого по умолчанию нахождения для извлечения строк из целевой таблицы. Допускается массив со значениями: имя нахождения и опциями по умолчанию.
- $_foreignKey protected
string|string[]Имя поля, представляющего внешний ключ в таблице для загрузки.
- $_joinType protected
stringТип соединения, используемого при добавлении ассоциации в запрос.
- $_junctionAssociationName protected
stringИмя ассоциации hasMany из целевой таблицы в соединительную таблицу.
- $_junctionConditions protected
array|nullОтфильтрованные условия, которые ссылаются на соединительную таблицу.
- $_junctionProperty protected
stringИмя свойства, которое будет содержать данные из соединительной таблицы после гидратации записи из целевой таблицы.
- $_junctionTable protected
Cake\ORM\TableЭкземпляр соединительной таблицы
- $_junctionTableName protected
stringИмя соединительной таблицы
- $_name protected
stringИмя ассоциации, обычно представляет псевдоним, назначенный целевой связанной таблице
- $_propertyName protected
stringИмя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
- $_saveStrategy protected
stringСтратегия сохранения, используемая этой ассоциацией
- $_sort protected
mixedПорядок возврата записей целевых записей
- $_sourceTable protected
Cake\ORM\TableЭкземпляр исходной таблицы
- $_strategy protected
stringИмя стратегии, используемой для извлечения связанных записей.
- $_tableLocator protected
Cake\ORM\Locator\LocatorInterface|nullЭкземпляр локатора таблиц
- $_targetConditions protected
array|nullОтфильтрованные условия, которые ссылаются на целевую таблицу.
- $_targetForeignKey protected
string|string[]|nullИмя поля, представляющего внешний ключ к целевой таблице
- $_targetTable protected
Cake\ORM\TableЭкземпляр целевой таблицы
- $_through protected
stringCake\ORM\TableЭкземпляр таблицы для связи.
- $_validStrategies protected
string[]Допустимые стратегии для этого типа ассоциации
Краткое описание методов
-
__call() public
Делегирует вызовы методов целевой таблице.
-
__construct() public
Конструктор. Подклассы могут переопределить функцию _options, чтобы получить исходный список переданных параметров, если ожидаются какие-либо другие специальные ключи.
-
__get() public
Делегирует получение свойств целевой таблице. Это удобно для получения ассоциаций этой ассоциации.
-
__isset() public
Делегирует вызов isset целевой таблице. Это удобно для проверки, имеет ли целевая таблица другую ассоциацию с заданным именем.
-
_appendFields() protected
Вспомогательная функция, используемая для условного добавления полей к разделу select запроса из полей, найденных в другом объекте запроса.
-
_appendJunctionJoin() protected
Добавление соединения к таблице соединения.
-
_appendNotMatching() protected
Условно добавляет условие к переданному запросу, которое заставит его находить записи, где нет совпадения с этой ассоциацией.
-
_bindNewAssociations() protected
Применяет все присоединяемые ассоциации к
$queryиз содержаний, найденных в запросе$surrogate. -
_camelize() protected
Создает пришлифованную версию $name.
-
_checkPersistenceStatus() protected
Выбрасывает исключение, если какой-либо из переданных сущностей не сохранен.
-
_collectJointEntities() protected
Возвращает список связанных сущностей, которые существуют между исходной сущностью и каждой из переданных целевых сущностей.
-
_diffLinks() protected
Вспомогательный метод, используемый для удаления различий между ссылками, переданными в
$existingи$jointEntities. Этот метод вернет значения из$targetEntities, которые не были удалены при расчете различий. -
_dispatchBeforeFind() protected
Вызывает beforeFind в целевой таблице для запроса, к которому присоединяется эта ассоциация.
-
_entityName() protected
Создаёт правильное имя сущности (единственное число) для указанного имени.
-
_extractFinder() protected
Вспомогательный метод для вывода запрошенного поиска и его параметров.
-
_fixtureName() protected
Создаёт имя фикстуры.
-
_formatAssociationResults() protected
Добавляет функцию форматирования к переданному
$query, если запрос$surrogateобъявляет другую функцию форматирования. Поскольку запрос$surrogateсоответствует связанной целевой таблице, результирующая функция форматирования будет результатом применения функций форматирования только к свойству, соответствующему этой таблице. -
_generateJunctionAssociations() protected
Генерирует ассоциации в таблице соединения по мере необходимости.
-
_generateSourceAssociations() protected
Генерирует дополнительные ассоциации исходной таблицы по мере необходимости.
-
_generateTargetAssociations() protected
Генерирует взаимные ассоциации по мере необходимости.
-
_joinCondition() protected
Возвращает false, так как условия соединения определены в таблице соединения.
-
_junctionAssociationName() protected
Возвращает имя ассоциации от целевой таблицы к таблице соединения. Это имя используется для генерации псевдонима в запросе и для последующего извлечения результатов.
-
_junctionTableName() protected
Устанавливает имя таблицы соединения. Если не переданы аргументы, возвращается текущее конфигурированное имя. Если не найдено, будет сгенерировано имя по умолчанию на основе связанных таблиц.
-
_modelKey() protected
Создаёт правильный подчёркнутый ключ модели для ассоциаций.
-
_modelNameFromKey() protected
Создаёт правильное имя модели из внешнего ключа.
-
_options() protected
Обрабатывает дополнительные параметры, переданные в конструктор.
-
_pluginNamespace() protected
Возвращает пространство имён плагина.
-
_pluginPath() protected
Находит правильный путь для плагина. Просматривает $pluginPaths для нужного плагина.
-
_pluralHumanName() protected
Создаёт множественное имя, используемое в представлениях.
-
_propertyName() protected
Возвращает имя свойства по умолчанию на основе имени ассоциации.
-
_saveLinks() protected
Создаёт связи между исходной сущностью и каждой из переданных целевых сущностей.
-
_saveTarget() protected
Сохраняет каждую из сущностей в целевой таблице и создаёт связи между родительской сущностью и каждой из сохранённых целевых сущностей.
-
_singularHumanName() protected
Создаёт единственное имя, используемое в представлениях.
-
_singularName() protected
Создаёт единственное имя для использования в представлениях.
-
_variableName() protected
Создаёт множественное имя переменной для представлений.
-
attachTo() public
Изменяет объект Query, чтобы включить данные связанной целевой таблицы в окончательный результат.
-
canBeJoined() public
Можно ли выразить эту ассоциацию напрямую в соединении запроса.
-
cascadeDelete() public
Очищает данные в таблице соединения для данной сущности.
-
defaultRowValue() public
Возвращает изменённую строку после добавления свойства для этой ассоциации со значением по умолчанию (пустое), в зависимости от того, была ли ассоциация присоединена или получена внешне.
-
deleteAll() public
Делегирует операцию удаления методу deleteAll целевой таблицы.
-
eagerLoader() public
Загружает список записей в целевой таблице, связанных с другой группой записей в исходной таблице. Исходные записи могут быть указаны двумя способами: первый способ — передать объект запроса, настроенный для поиска в исходной таблице, а второй способ — явно передать массив значений первичного ключа из исходной таблицы.
-
exists() public
Делегирует операцию методу exists целевой таблицы после добавления стандартных условий для этой связи.
-
find() public
Делегирует операцию поиска методу find целевой таблицы и изменяет запрос в соответствии с настройками этой связи.
-
getBindingKey() public
Получает имя поля, представляющего поле привязки к целевой таблице. Если не указано вручную, используется первичный ключ таблицы-владельца.
-
getCascadeCallbacks() public
Получает значение, определяющее, будут ли вызываться обратные вызовы при каскадном удалении.
-
getClassName() public
Получает имя класса объекта целевой таблицы.
-
getConditions() public
Получает список условий, которые всегда должны включаться при извлечении записей из целевой связи.
-
getDependent() public
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
-
getFinder() public
Получает стандартный поиск для извлечения строк из целевой таблицы.
-
getForeignKey() public
Получает имя поля, представляющего внешний ключ к исходной таблице.
-
getJoinType() public
Получает тип соединения, который будет использоваться при добавлении связи в запрос.
-
getName() public
Получает имя этой связи, обычно псевдоним целевой связанной таблицы.
-
getProperty() public
Получает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
-
getSaveStrategy() public
Получает стратегию, которая должна быть использована для сохранения.
-
getSort() public
Получает порядок сортировки, в котором должны возвращаться целевые записи.
-
getSource() public
Получает экземпляр таблицы для стороны источника связи.
-
getStrategy() public
Получает имя стратегии, которая должна использоваться для извлечения связанных записей. Имейте в виду, что некоторые типы связей могут не реализовывать, но использовать по умолчанию стратегию, что делает любые изменения в этом параметре недействительными.
-
getTableLocator() public
Получает локатор таблицы.
-
getTarget() public
Получает экземпляр таблицы для целевой стороны связи.
-
getTargetForeignKey() public
Получает имя поля, представляющего внешний ключ к целевой таблице.
-
getThrough() public
Получает текущую таблицу соединения, либо имя экземпляра таблицы, либо сам экземпляр.
-
isOwningSide() public
Возвращает логическое значение true, так как обе таблицы «владеют» строками на другой стороне связи через таблицу соединения.
-
junction() public
Устанавливает экземпляр таблицы для связи соединения. Если не переданы аргументы, возвращается текущий настроенный экземпляр таблицы.
-
junctionConditions() protected
Возвращает отфильтрованные условия, которые конкретно ссылаются на таблицу соединения.
-
link() public
Связывает сущность источника с каждой из целевых сущностей, создавая связи в таблице соединения. Предполагается, что и сущность источника, и каждая из целевых сущностей уже сохранены. Если они помечены как новые или их статус неизвестен, будет выброшено исключение.
-
replaceLinks() public
Заменяет существующие связи между сущностью источника и целевой сущностью на переданные. Этот метод выполняет интеллектуальную очистку: связи, которые уже сохранены и присутствуют в
$targetEntitiesне будут удалены, новые связи будут созданы для переданных целевых сущностей, которые еще не находятся в базе данных, а остальные будут удалены. -
requiresKeys() public
Возвращает true, если процесс жадной загрузки потребует набор первичных ключей таблицы владельца, чтобы использовать их в качестве фильтра в запросе поиска.
-
saveAssociated() public
Принимает сущность из исходной таблицы и проверяет, есть ли поле, соответствующее имени свойства для этой связи. Найденная сущность будет сохранена в целевой таблице для этой связи, передав предоставленные
$options. -
setBindingKey() public
Устанавливает имя поля, представляющего поле привязки к целевой таблице. Если не указано вручную, используется первичный ключ таблицы-владельца.
-
setCascadeCallbacks() public
Устанавливает значение, определяющее, будут ли вызываться обратные вызовы при каскадном удалении.
-
setClassName() public
Устанавливает имя класса объекта целевой таблицы.
-
setConditions() public
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевой связи.
-
setDependent() public
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
-
setFinder() public
Устанавливает стандартный поиск для извлечения строк из целевой таблицы.
-
setForeignKey() public
Устанавливает имя поля, представляющего внешний ключ к целевой таблице.
-
setJoinType() public
Устанавливает тип соединения, который будет использоваться при добавлении связи в запрос.
-
setName() public
Устанавливает имя этой связи, обычно псевдоним целевой связанной таблицы.
-
setProperty() public
Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
-
setSaveStrategy() public
Устанавливает стратегию, которая должна быть использована для сохранения.
-
setSort() public
Устанавливает порядок сортировки, в котором должны возвращаться целевые записи.
-
setSource() public
Устанавливает экземпляр таблицы для источника ассоциации.
-
setStrategy() public
Устанавливает имя стратегии, используемой для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, а использовать по умолчанию стратегию, что делает любые изменения в этом параметре недействительными.
-
setTableLocator() public
Устанавливает локатор таблицы.
-
setTarget() public
Устанавливает экземпляр таблицы для целевой стороны ассоциации.
-
setTargetForeignKey() public
Устанавливает имя поля, представляющего внешний ключ к целевой таблице.
-
setThrough() public
Устанавливает текущую таблицу соединения, либо имя экземпляра таблицы, либо сам экземпляр.
-
targetConditions() protected
Возвращает отфильтрованные условия, которые ссылаются на целевую таблицу.
-
transformRow() public
Правильно вложены значения связанных строк результатов в соответствующие ключи массива в исходных результатах.
-
type() public
Получить тип связи.
-
unlink() public
Удаляет все связи между переданной сущностью источника и каждой из предоставленных сущностей назначения. Этот метод предполагает, что все переданные объекты уже сохранены в базе данных и что каждый из них содержит значение первичного ключа.
-
updateAll() public
Делегирует операцию обновления методу updateAll целевой таблицы
Подробное описание методов
__call() public
__call(string $method, array $argument): mixed
Перенаправляет вызовы методов на целевую таблицу.
Parameters
-
string$method имя вызываемого метода
-
array$argument Список аргументов, переданных в функцию
Returns
mixedThrows
BadMethodCallException__construct() public
__construct(string $alias, array $options = [])
Конструктор. Подклассы могут переопределить функцию _options, чтобы получить исходный список переданных параметров, если ожидается какой-либо другой специальный ключ
Parameters
-
string$alias Имя, данное ассоциации
-
array$options optional Список свойств, которые должны быть установлены для этого объекта
__get() public
__get(string $property): Cake\ORM\Association
Перенаправляет получение свойства на целевую таблицу. Это удобно для получения ассоциаций этой ассоциации
Parameters
-
string$property имя свойства
Returns
Cake\ORM\AssociationThrows
RuntimeExceptionif no association with such name exists
__isset() public
__isset(string $property): bool
Перенаправляет вызов isset на целевую таблицу. Это удобно для проверки, имеет ли целевая таблица другую ассоциацию с переданным именем
Parameters
-
string$property имя свойства
Returns
bool_appendFields() protected
_appendFields(Cake\ORM\Query $query, Cake\ORM\Query $surrogate, array $options): void
Вспомогательная функция, используемая для условного добавления полей к предложению select запроса из полей, найденных в другом объекте запроса.
Parameters
-
Cake\ORM\Query$query запрос, к которому будут добавлены поля
-
Cake\ORM\Query$surrogate запрос, содержащий поля, которые нужно скопировать
-
array$options параметры, переданные методу
attachTo
Returns
void_appendJunctionJoin() protected
_appendJunctionJoin(Cake\ORM\Query $query, array|null $conditions = null): Cake\ORM\Query
Добавить соединение с соединительной таблицей.
Parameters
-
Cake\ORM\Query$query Запрос для добавления.
-
array|null$conditions optional Условия запроса для использования.
Returns
Cake\ORM\Query_appendNotMatching() protected
_appendNotMatching(Cake\ORM\Query $query, array $options): void
Условно добавляет условие к переданному запросу Query, которое позволит ему находить записи, где нет совпадений с этой ассоциацией.
Parameters
-
Cake\ORM\Query$query -
array$options
Returns
void_bindNewAssociations() protected
_bindNewAssociations(Cake\ORM\Query $query, Cake\ORM\Query $surrogate, array $options): void
Применяет все присоединяемые ассоциации к $query из содержащихся элементов, найденных в запросе $surrogate.
Копирует все содержащиеся ассоциации из запроса $surrogate в переданный $query. Содержащиеся элементы изменяются таким образом, чтобы они соответствовали цепочке ассоциаций, из которой они произошли.
Parameters
-
Cake\ORM\Query$query запрос, к которому будут прикреплены ассоциации
-
Cake\ORM\Query$surrogate запрос, содержащий элементы, которые нужно прикрепить
-
array$options параметры, переданные методу
attachTo
Returns
void_camelize() protected
_camelize(string $name): string
Создает версию $name в стиле camelCase
Parameters
-
string$name имя
Returns
string_checkPersistenceStatus() protected
_checkPersistenceStatus(Cake\Datasource\EntityInterface $sourceEntity, Cake\Datasource\EntityInterface[] $targetEntities): bool
Выдает исключение, если любой из переданных объектов не сохранен.
Parameters
-
Cake\Datasource\EntityInterface$sourceEntity строка, принадлежащая
sourceстороне этой ассоциации-
Cake\Datasource\EntityInterface[]$targetEntities список объектов, принадлежащих
targetстороне этой ассоциации
Returns
boolThrows
InvalidArgumentException_collectJointEntities() protected
_collectJointEntities(Cake\Datasource\EntityInterface $sourceEntity, array $targetEntities): Cake\Datasource\EntityInterface[]
Возвращает список объединенных объектов, которые существуют между исходным объектом и каждым из переданных целевых объектов
Parameters
-
Cake\Datasource\EntityInterface$sourceEntity Строка, принадлежащая исходной стороне этой ассоциации.
-
array$targetEntities Строки, принадлежащие целевой стороне этой ассоциации.
Returns
Cake\Datasource\EntityInterface[]Throws
InvalidArgumentExceptionif any of the entities is lacking a primary key value
_diffLinks() protected
_diffLinks(Cake\ORM\Query $existing, Cake\Datasource\EntityInterface[] $jointEntities, array $targetEntities, array $options = []): array|false
Вспомогательный метод, используемый для удаления разницы между ссылками, переданными в $existing и $jointEntities. Этот метод вернет значения из $targetEntities, которые не были удалены при вычислении разницы.
Parameters
-
Cake\ORM\Query$existing запрос для получения существующих ссылок
-
Cake\Datasource\EntityInterface[]$jointEntities объекты ссылок, которые должны быть сохранены
-
array$targetEntities объекты в целевой таблице, которые связаны с
$jointEntities-
array$options optional список параметров, принимаемых
Table::delete()
Returns
array|false_dispatchBeforeFind() protected
_dispatchBeforeFind(Cake\ORM\Query $query): void
Вызывает beforeFind в целевой таблице для запроса, к которому прикрепляется эта ассоциация
Parameters
-
Cake\ORM\Query$query запрос, к которому эта ассоциация прикрепляет себя
Returns
void_entityName() protected
_entityName(string $name): string
Создает правильное имя сущности (единственное число) для указанного имени
Parameters
-
string$name Имя
Returns
string_extractFinder() protected
_extractFinder(string|array $finderData): array
Вспомогательный метод для вывода запрошенного поиска и его параметров.
Возвращает выведенные параметры из поиска $type.
Examples:
Следующее вызовет поиск 'translations' со значением поиска в качестве его параметров: $query->contain(['Comments' => ['finder' => ['translations']]]); $query->contain(['Comments' => ['finder' => ['translations' => []]]]); $query->contain(['Comments' => ['finder' => ['translations' => ['locales' => ['en_US']]]]]);
Parameters
-
string|array$finderData Имя поиска или массив, содержащий имя в качестве ключа и параметры в качестве значения.
Returns
array_fixtureName() protected
_fixtureName(string $name): string
Создает имя фикстуры
Parameters
-
string$name Имя класса модели
Returns
string_formatAssociationResults() protected
_formatAssociationResults(Cake\ORM\Query $query, Cake\ORM\Query $surrogate, array $options): void
Добавляет функцию форматирования к переданному $query в случае, если $surrogate запрос объявляет какой-либо другой форматировщик. Поскольку $surrogate запрос соответствует связанной целевой таблице, результирующий форматировщик будет результатом применения форматировщиков-заменителей только к свойству, соответствующему данной таблице.
Параметры
-
Cake\ORM\Query$query запрос, к которому будет применено форматирование
-
Cake\ORM\Query$surrogate запрос, содержащий форматировщики для связанной целевой таблицы.
-
array$options параметры, переданные методу
attachTo
Возвращает
void_generateJunctionAssociations() protected
_generateJunctionAssociations(Cake\ORM\Table $junction, Cake\ORM\Table $source, Cake\ORM\Table $target): void
Генерирует необходимые ассоциации в таблице соединения.
Генерируются следующие ассоциации:
- соединение принадлежит источнику, например, ArticlesTags принадлежит Tags
- соединение принадлежит цели, например, ArticlesTags принадлежит Articles
Вы можете переопределить эти сгенерированные ассоциации, определив ассоциации с правильными псевдонимами.
Параметры
-
Cake\ORM\Table$junction Таблица соединения.
-
Cake\ORM\Table$source Источник таблицы.
-
Cake\ORM\Table$target Целевая таблица.
Возвращает
voidВыбрасывает
InvalidArgumentExceptionЕсли ожидаемые ассоциации несовместимы с существующими ассоциациями.
_generateSourceAssociations() protected
_generateSourceAssociations(Cake\ORM\Table $junction, Cake\ORM\Table $source): void
Генерирует дополнительные ассоциации таблицы источника по необходимости.
Генерируются следующие ассоциации:
- источник имеет много таблиц соединения, например, Tags имеет много ArticlesTags
Вы можете переопределить эти сгенерированные ассоциации, определив ассоциации с правильными псевдонимами.
Параметры
-
Cake\ORM\Table$junction Таблица соединения.
-
Cake\ORM\Table$source Источник таблицы.
Возвращает
void_generateTargetAssociations() protected
_generateTargetAssociations(Cake\ORM\Table $junction, Cake\ORM\Table $source, Cake\ORM\Table $target): void
Генерирует взаимообратные ассоциации по необходимости.
Генерируются следующие ассоциации:
- цель имеет много таблиц соединения, например, Articles имеет много ArticlesTags
- цель имеет много ко многим источнику, например, Articles имеет много ко многим Tags.
Вы можете переопределить эти сгенерированные ассоциации, определив ассоциации с правильными псевдонимами.
Параметры
-
Cake\ORM\Table$junction Таблица соединения.
-
Cake\ORM\Table$source Источник таблицы.
-
Cake\ORM\Table$target Целевая таблица.
Возвращает
void_joinCondition() protected
_joinCondition(array $options): array
Возвращает false, так как условия соединения определены в таблице соединения.
Параметры
-
array$options список параметров, переданных методу attachTo
Возвращает
array_junctionAssociationName() protected
_junctionAssociationName(): string
Возвращает имя ассоциации от целевой таблицы к таблице соединения. Это имя используется для генерации псевдонима в запросе и для последующего извлечения результатов.
Возвращает
string_junctionTableName() protected
_junctionTableName(string|null $name = null): string
Устанавливает имя таблицы соединения. Если аргументы не переданы, возвращается текущее конфигурированное имя. Если не найдено, будет сгенерировано имя по умолчанию на основе связанных таблиц.
Параметры
-
string|null$name optional Имя таблицы соединения.
Возвращает
string_modelKey() protected
_modelKey(string $name): string
Создает правильный подчёркнутый ключ модели для ассоциаций.
Если входные данные содержат точку, предполагается, что правая сторона является фактическим именем таблицы.
Параметры
-
string$name Имя класса модели
Возвращает
string_modelNameFromKey() protected
_modelNameFromKey(string $key): string
Создает правильное имя модели из внешнего ключа.
Параметры
-
string$key Внешний ключ
Возвращает
string_options() protected
_options(array $options): void
Парсит дополнительные параметры, переданные в конструктор.
Параметры
-
array$options исходный список параметров, переданных в конструктор
Возвращает
void_pluginNamespace() protected
_pluginNamespace(string $pluginName): string
Возвращает пространство имен плагина.
Параметры
-
string$pluginName Имя плагина
Возвращает
string_pluginPath() protected
_pluginPath(string $pluginName): string
Находит правильный путь к плагину. Сканирует $pluginPaths для нужного плагина.
Параметры
-
string$pluginName Имя плагина, например, DebugKit
Возвращает
string_pluralHumanName() protected
_pluralHumanName(string $name): string
Создаёт множественное имя, используемое в представлениях.
Параметры
-
string$name Имя контроллера
Возвращает
string_propertyName() protected
_propertyName(): string
Возвращает имя свойства по умолчанию на основе имени ассоциации.
Возвращает
string_saveLinks() protected
_saveLinks(Cake\Datasource\EntityInterface $sourceEntity, Cake\Datasource\EntityInterface[] $targetEntities, array $options): bool
Создаёт связи между сущностью источника и каждой из переданных сущностей цели.
Параметры
-
Cake\Datasource\EntityInterface$sourceEntity сущность из таблицы источника в этой ассоциации
-
Cake\Datasource\EntityInterface[]$targetEntities список сущностей, которые нужно связать с сущностью источника с помощью таблицы соединения
-
array$options список параметров, принимаемых
Table::save()
Возвращает
bool_saveTarget() protected
_saveTarget(Cake\Datasource\EntityInterface $parentEntity, array $entities, array $options): Cake\Datasource\EntityInterface|false
Сохраняет каждую из сущностей в целевой таблице и создаёт связи между родительской сущностью и каждой сохранённой сущностью цели.
Параметры
-
Cake\Datasource\EntityInterface$parentEntity сущность источника, содержащая сущности цели, которые нужно сохранить.
-
array$entities список сущностей, которые нужно сохранить в целевой таблице и связать с родительской сущностью
-
array$options список параметров, принимаемых
Table::save()
Возвращает
Cake\Datasource\EntityInterface|falseВыбрасывает
InvalidArgumentExceptionесли свойство, представляющее ассоциацию в родительской сущности, невозможно пройти
_singularHumanName() protected
_singularHumanName(string $name): string
Создаёт единственное имя, используемое в представлениях.
Параметры
-
string$name Имя контроллера
Возвращает
string_singularName() protected
_singularName(string $name): string
Создаёт единственное имя для использования в представлениях.
Параметры
-
string$name Используемое имя
Возвращает
string_variableName() protected
_variableName(string $name): string
Создаёт множественное имя переменной для представлений.
Параметры
-
string$name Используемое имя
Возвращает
stringattachTo() public
attachTo(Cake\ORM\Query $query, array $options = []): void
Изменяет объект Query, чтобы включить данные связанной целевой таблицы в окончательный результат.
Массив параметров может содержать следующие ключи:
- includeFields: Включать ли поля целевой модели в результат
- foreignKey: Имя поля, используемого в качестве внешнего ключа. Если false, внешний ключ не используется.
- conditions: Массив с условиями фильтрации для объединения
- fields: Список полей в целевой таблице, которые нужно включить в результат
- type: Тип объединения (например, INNER)
Параметры
-
Cake\ORM\Query$query Объект запроса, который необходимо изменить, чтобы включить данные целевой таблицы
-
array$options optional Дополнительные параметры или переопределения, которые нужно учитывать
Возвращает
voidcanBeJoined() public
canBeJoined(array $options = []): bool
Возвращает, можно ли напрямую выразить эту ассоциацию в объединении запроса.
Параметры
-
array$options optional Настраиваемый ключ параметров, который может изменить возвращаемое значение
Возвращает
boolcascadeDelete() public
cascadeDelete(Cake\Datasource\EntityInterface $entity, array $options = []): bool
Очищает данные в таблице соединения для заданного объекта.
Каждый реализующий класс должен обрабатывать каскадное удаление как требуется.
Параметры
-
Cake\Datasource\EntityInterface$entity Объект, который инициировал каскадное удаление.
-
array$options optional Параметры для исходного удаления.
Возвращает
booldefaultRowValue() public
defaultRowValue(array $row, bool $joined): array
Возвращает изменённую строку после добавления свойства для этой ассоциации со значением по умолчанию в соответствии с тем, была ли ассоциация объединена или получена внешне.
Параметры
-
array$row -
bool$joined
Возвращает
arraydeleteAll() public
deleteAll(mixed $conditions): int
Делегирует операцию удаления методу deleteAll целевой таблицы.
Параметры
-
mixed$conditions Условия, принимающие любые значения, которые может принять Query::where().
Возвращает
intСм. также
eagerLoader() public
eagerLoader(array $options): Closure
Загружает список записей в целевой таблице, связанных с другим набором записей в исходной таблице. Источник записей можно указать двумя способами: первый – передать объект Query, настроенный для поиска в исходной таблице, второй – явно передать массив значений первичных ключей из исходной таблицы.
Требуемый способ передачи связанных записей источника управляется параметром «стратегия». При использовании стратегии подзапроса требуется запрос на исходную таблицу. При использовании стратегии выбора используется список первичных ключей.
Возвращает лямбда-функцию, которая должна выполняться для каждой записи, возвращаемой в определённом запросе. Эта функция будет отвечать за вставку полей, связанных с каждой конкретной переданной строкой.
Массив параметров принимает следующие ключи:
- query: Объект Query, настроенный для поиска записей исходной таблицы
- keys: Список значений первичных ключей из исходной таблицы
- foreignKey: Имя поля, используемого для связи обеих таблиц
- conditions: Список условий, передаваемых методу where() запроса
- sort: Направление возвращения записей
- fields: Список полей для выбора из целевой таблицы
- contain: Список связанных таблиц для загрузки ассоциаций, связанных с целевой таблицей
- strategy: Имя стратегии для использования при поиске записей целевой таблицы
- nestKey: Ключ массива, под которым будут найдены результаты при преобразовании строки
Параметры
-
array$options
Возвращает
Closureexists() public
exists(arrayClosureCake\Database\ExpressionInterface $conditions): bool
Делегирует операцию целевой таблице exists после добавления условий по умолчанию для этой ассоциации.
Параметры
-
arrayClosureCake\Database\ExpressionInterface$conditions Условия для проверки соответствия какой-либо записи.
Возвращает
boolСм. также
find() public
find(string|array|null $type = null, array $options = []): Cake\ORM\Query
Делегирует операцию поиска методу find целевой таблицы и соответственно изменяет запрос на основе конфигурации этой ассоциации.
Если ваша ассоциация включает условия или поиск, таблица соединения будет включена в связанные ассоциации запроса.
Параметры
-
string|array|null$type optional Тип запроса, если передано массив, он будет интерпретирован как параметр
$options-
array$options optional Параметры для поиска
Возвращает
Cake\ORM\QueryСм. также
getBindingKey() public
getBindingKey(): string|string[]
Получает имя поля, представляющего поле привязки к целевой таблице. Если не указано явно, используется первичный ключ таблицы владельца.
Возвращает
string|string[]getCascadeCallbacks() public
getCascadeCallbacks(): bool
Получает, нужно ли вызывать обратные вызовы при каскадном удалении.
Возвращает
boolgetClassName() public
getClassName(): string
Получает имя класса объекта целевой таблицы.
Возвращает
stringgetConditions() public
getConditions(): arrayClosure
Получает список условий, которые всегда должны включаться при получении записей из целевой ассоциации.
Возвращает
arrayClosureСм. также
getDependent() public
getDependent(): bool
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
Это используется главным образом для указания, что записи должны быть удалены, если запись-владелец в исходной таблице удалена.
Возвращает
boolgetFinder() public
getFinder(): string|array
Получает поиск по умолчанию для извлечения строк из целевой таблицы.
Возвращает
string|arraygetForeignKey() public
getForeignKey(): string|string[]
Получает имя поля, представляющего внешний ключ к исходной таблице.
Возвращает
string|string[]getJoinType() public
getJoinType(): string
Получает тип объединения, используемого при добавлении ассоциации к запросу.
Возвращает
stringgetName() public
getName(): string
Получает имя этой ассоциации, обычно псевдоним, назначенный целевой связанной таблице
Возвращает
stringgetProperty() public
getProperty(): string
Получает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
Возвращает
stringgetSaveStrategy() public
getSaveStrategy(): string
Получает стратегию, которая должна быть использована для сохранения.
Возвращает
stringgetSort() public
getSort(): mixed
Получает порядок сортировки, в котором должны возвращаться целевые записи.
Возвращает
mixedgetSource() public
getSource(): Cake\ORM\Table
Получает экземпляр таблицы для исходной стороны ассоциации.
Возвращает
Cake\ORM\TablegetStrategy() public
getStrategy(): string
Получает имя стратегии, которое будет использоваться для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовать, но имеют по умолчанию стратегию, что делает любые изменения в этом параметре недействительными.
Возвращает
stringgetTableLocator() public
getTableLocator(): Cake\ORM\Locator\LocatorInterface
Получает локатор таблицы.
Возвращает
Cake\ORM\Locator\LocatorInterfacegetTarget() public
getTarget(): Cake\ORM\Table
Получает экземпляр таблицы для целевой стороны ассоциации.
Возвращает
Cake\ORM\TablegetTargetForeignKey() public
getTargetForeignKey(): string|string[]
Получает имя поля, представляющего внешний ключ к целевой таблице.
Возвращает
string|string[]getThrough() public
getThrough(): stringCake\ORM\Table
Получает текущую таблицу соединения, либо имя экземпляра Table, либо сам экземпляр.
Возвращает
stringCake\ORM\TableisOwningSide() public
isOwningSide(Cake\ORM\Table $side): bool
Возвращает булево значение true, так как обе таблицы «владеют» строками на другой стороне ассоциации через таблицу соединения.
Параметры
-
Cake\ORM\Table$side Возможная таблица с правом собственности
Возвращает
booljunction() public
junction(stringCake\ORM\Table|null $table = null): Cake\ORM\Table
Устанавливает экземпляр таблицы для связи. Если аргументы не переданы, возвращается текущий сконфигурированный экземпляр таблицы.
Параметры
-
stringCake\ORM\Table|null$table optional Имя или экземпляр таблицы соединения
Возвращает
Cake\ORM\TableИсключения
InvalidArgumentExceptionВ случае несовместимости ожидаемых ассоциаций с существующими ассоциациями.
junctionConditions() protected
junctionConditions(): array
Возвращает отфильтрованные условия, которые конкретно ссылаются на таблицу соединения.
Возвращает
arraylink() public
link(Cake\Datasource\EntityInterface $sourceEntity, Cake\Datasource\EntityInterface[] $targetEntities, array $options = []): bool
Связывает сущность источника с каждой из целевых сущностей, создавая связи в таблице соединения. Предполагается, что и сущность источника, и каждая из целевых сущностей уже сохранены. Если они помечены как новые или их статус неизвестен, будет выброшено исключение.
При использовании этого метода все сущности в $targetEntities будут добавлены к свойству сущности источника, соответствующему этому объекту ассоциации.
Этот метод не проверяет уникальность связей.
Пример:
$newTags = $tags->find('relevant')->toArray();
$articles->getAssociation('tags')->link($article, $newTags); $article->get('tags') будет содержать все теги из $newTags после связывания
Параметры
-
Cake\Datasource\EntityInterface$sourceEntity строка, принадлежащая стороне
sourceэтой ассоциации-
Cake\Datasource\EntityInterface[]$targetEntities список сущностей, принадлежащих стороне
targetэтой ассоциации-
array$options optional список параметров, передаваемых в вызов
save
Возвращает
boolИсключения
InvalidArgumentExceptionпри обнаружении любого из значений в $targetEntities, которые не были сохранены
replaceLinks() public
replaceLinks(Cake\Datasource\EntityInterface $sourceEntity, array $targetEntities, array $options = []): bool
Заменяет существующие связи ассоциации между исходной сущностью и целью на переданные. Этот метод выполняет интеллектуальную очистку, ссылки, которые уже сохранены и присутствуют в $targetEntities не будут удалены, новые ссылки будут созданы для переданных целевых сущностей, которые еще не находятся в базе данных, а остальные будут удалены.
Например, если статья связана с тегами «кекс» и «фреймворк», и вы передаете в этот метод массив, содержащий сущности для тегов «кекс», «php» и «отлично», то только ссылка для «кекс» будет сохранена в базе данных, ссылка для «фреймворк» будет удалена, а ссылки для «php» и «отлично» будут созданы.
Существующие ссылки не удаляются и не создаются заново, они либо остаются неизменными, либо обновляются, чтобы не потерять потенциальную дополнительную информацию, хранящуюся в строке соединения. Обновление строки соединения может быть выполнено, если соответствующая переданная целевая сущность содержит свойство соединения с ее первичным ключом и любой дополнительной информацией, которая должна быть сохранена.
При успешном выполнении переданное $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 персистентная сущность в таблице источника для этой ассоциации
-
array$targetEntities список сущностей из целевой таблицы для связывания
-
array$options optional список параметров, которые будут переданы в внутренние вызовы
save/deleteпри сохранении/обновлении новых ссылок или удалении существующих
Возвращает
boolИсключения
InvalidArgumentExceptionесли переданы неперсистентные сущности или если какая-либо из них отсутствует первичный ключ
requiresKeys() public
requiresKeys(array $options = []): bool
Возвращает true, если процесс ленивой загрузки потребует набора связывающих ключей таблицы владельца, чтобы использовать их в качестве фильтра в запросе поиска.
Параметры
-
array$options optional Параметры, содержащие используемую стратегию.
Возвращает
boolsaveAssociated() public
saveAssociated(Cake\Datasource\EntityInterface $entity, array $options = []): Cake\Datasource\EntityInterface|false
Берёт сущность из исходной таблицы и проверяет, есть ли поле, соответствующее имени свойства для этой ассоциации. Найденная сущность будет сохранена в целевой таблице для этой ассоциации путём передачи предоставленного $options
При использовании стратегии 'append' эта функция будет создавать только новые связи между каждой стороной этой ассоциации. Она не будет уничтожать существующие, даже если они могут отсутствовать в массиве сущностей, которые нужно сохранить.
При использовании стратегии 'replace' существующие связи будут удалены, и в объединённой таблице будут созданы новые связи. Если в базе данных существуют связи с некоторыми из сущностей, предназначенных для сохранения этим методом, они будут обновлены, а не удалены.
Параметры
-
Cake\Datasource\EntityInterface$entity сущность из исходной таблицы
-
array$options optional параметры, которые будут переданы методу save в целевой таблице
Возвращает
Cake\Datasource\EntityInterface|falseИсключения
InvalidArgumentExceptionесли свойство, представляющее ассоциацию в родительской сущности, невозможно пройти
См. также
\Cake\ORM\Association\BelongsToMany::replaceLinks()
setBindingKey() public
setBindingKey(string|string[] $key): $this
Устанавливает имя поля, представляющего поле связи с целевой таблицей. Если не указано вручную, используется первичный ключ таблицы владельца.
Параметры
-
string|string[]$key поле или поля таблицы, которые будут использоваться для связи обеих таблиц
Возвращает
$thissetCascadeCallbacks() public
setCascadeCallbacks(bool $cascadeCallbacks): $this
Устанавливает, должны ли каскадные удаления также запускать коллбэки.
Параметры
-
bool$cascadeCallbacks значение переключателя каскадных коллбэков
Возвращает
$thissetClassName() public
setClassName(string $className): $this
Устанавливает имя класса объекта целевой таблицы.
Параметры
-
string$className Имя класса для установки.
Возвращает
$thisИсключения
InvalidArgumentExceptionВ случае, если имя класса установлено после того, как целевая таблица была разрешена, и оно не соответствует имени класса целевой таблицы.
setConditions() public
setConditions(arrayClosure $conditions): Cake\ORM\Association
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
Параметры
-
arrayClosure$conditions
Возвращает
Cake\ORM\AssociationsetDependent() public
setDependent(bool $dependent): $this
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
Это в первую очередь используется для указания того, что записи должны быть удалены, если владеющая запись в исходной таблице удалена.
Если параметры не переданы, возвращается текущее значение.
Параметры
-
bool$dependent Устанавливает режим зависимости. Используйте null для чтения текущего состояния.
Возвращает
$thissetFinder() public
setFinder(string|array $finder): $this
Устанавливает средство поиска по умолчанию для извлечения строк из целевой таблицы.
Параметры
-
string|array$finder имя средства поиска для использования или массив имени средства поиска и параметра.
Возвращает
$thissetForeignKey() public
setForeignKey(string|string[] $key): $this
Устанавливает имя поля, представляющего внешний ключ к целевой таблице.
Параметры
-
string|string[]$key ключ или ключи, которые будут использоваться для связи обеих таблиц
Возвращает
$thissetJoinType() public
setJoinType(string $type): $this
Устанавливает тип соединения, который будет использоваться при добавлении ассоциации к запросу.
Параметры
-
string$type тип соединения, который будет использоваться (например, INNER)
Возвращает
$thissetName() public
setName(string $name): $this
Устанавливает имя для этой ассоциации, обычно псевдоним, назначенный целевой связанной таблице
Параметры
-
string$name Имя, которое нужно назначить
Возвращает
$thissetProperty() public
setProperty(string $name): $this
Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
Параметры
-
string$name Имя свойства ассоциации. Используйте null для чтения текущего значения.
Возвращает
$thissetSaveStrategy() public
setSaveStrategy(string $strategy): $this
Устанавливает стратегию, которая должна использоваться для сохранения.
Параметры
-
string$strategy имя стратегии, которая будет использоваться
Возвращает
$thisИсключения
InvalidArgumentExceptionесли передано недопустимое имя стратегии
setSort() public
setSort(mixed $sort): $this
Устанавливает порядок сортировки, в котором должны возвращаться записи цели.
Параметры
-
mixed$sort Условие order, совместимое с find()
Возвращает
$thissetSource() public
setSource(Cake\ORM\Table $table): $this
Устанавливает экземпляр таблицы для исходной стороны ассоциации.
Параметры
-
Cake\ORM\Table$table экземпляр, который будет назначен как исходная сторона
Возвращает
$thissetStrategy() public
setStrategy(string $name): $this
Устанавливает имя стратегии, которая будет использоваться для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут реализовывать только стратегию по умолчанию, делая любые изменения этого параметра недействительными.
Параметры
-
string$name Тип стратегии. Используйте null для чтения текущего значения.
Возвращает
$thisИсключения
InvalidArgumentExceptionКогда предоставлена недопустимая стратегия.
setTableLocator() public
setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): $this
Устанавливает локатор таблиц.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocator Экземпляр LocatorInterface.
Возвращает
$thissetTarget() public
setTarget(Cake\ORM\Table $table): $this
Устанавливает экземпляр таблицы для целевой стороны ассоциации.
Параметры
-
Cake\ORM\Table$table экземпляр, который будет назначен как целевая сторона
Возвращает
$thissetTargetForeignKey() public
setTargetForeignKey(string|string[] $key): $this
Устанавливает имя поля, представляющего внешний ключ к целевой таблице.
Параметры
-
string|string[]$key ключ, который будет использоваться для связи обеих таблиц
Возвращает
$thissetThrough() public
setThrough(stringCake\ORM\Table $through): $this
Устанавливает текущую таблицу соединения, либо имя экземпляра таблицы, либо сам экземпляр.
Параметры
-
stringCake\ORM\Table$through Имя экземпляра таблицы или сам экземпляр
Возвращает
$thistargetConditions() protected
targetConditions(): mixed
Возвращает отфильтрованные условия, которые ссылаются на целевую таблицу.
Любые строковые выражения или объекты выражений также будут возвращены в этом списке.
Возвращает
mixedtransformRow() public
transformRow(array $row, string $nestKey, bool $joined, string|null $targetProperty = null): array
Правильно вложены значения строки результата в соответствующие ключи массива внутри исходных результатов.
Параметры
-
array$row Строка для преобразования
-
string$nestKey Ключ массива, под которым должны быть найдены результаты этой ассоциации
-
bool$joined Является ли строка результатом прямого соединения с этой ассоциацией
-
string|null$targetProperty optional Имя свойства в исходных результатах, где данные ассоциации должны быть вложены. Будет использовано значение по умолчанию, если не указано.
Возвращает
arraytype() public
type(): string
Получить тип отношения.
Возвращает
stringunlink() public
unlink(Cake\Datasource\EntityInterface $sourceEntity, Cake\Datasource\EntityInterface[] $targetEntities, array|bool $options = []): bool
Удаляет все ссылки между переданным исходным объектом и каждым из переданных целевых объектов. Этот метод предполагает, что все переданные объекты уже сохранены в базе данных и что каждый из них содержит значение первичного ключа.
Параметры
В дополнение к параметрам по умолчанию, принятым 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 Сущность, сохраненная в исходной таблице для этой ассоциации.
-
Cake\Datasource\EntityInterface[]$targetEntities Список сущностей, сохраненных в целевой таблице для этой ассоциации.
-
array|bool$options optional Список параметров, которые необходимо передать в внутренний
deleteвызов илиbooleanв качестве сокращения ключаcleanProperty.
Возвращает
boolИсключения
InvalidArgumentExceptionЕсли переданы несохраненные сущности или если у какой-либо из них отсутствует значение первичного ключа.
updateAll() public
updateAll(array $fields, mixed $conditions): int
Делегирует операцию обновления методу updateAll целевой таблицы.
Параметры
-
array$fields Хэш поле => новое значение.
-
mixed$conditions Условия, принимающие все, что может принять Query::where().
Возвращает
intСм. также
Подробное описание свойства
$_bindingKey protected
Имя поля в таблице со стороны владельца, которое используется для сопоставления с foreignKey
Тип
string|string[]|null$_cascadeCallbacks protected
Определяет, будут ли вызываться обратные вызовы при каскадных удалениях.
Тип
bool$_className protected
Имя класса объекта целевой таблицы
Тип
string$_conditions protected
Список условий, которые всегда должны включаться при извлечении записей из целевого ассоциативного объекта.
Тип
arrayClosure$_dependent protected
Следует ли удалять записи в таблице соединения при удалении записи в таблице источника.
По умолчанию установлено в true для обратной совместимости.
Тип
bool$_finder protected
Имя используемого по умолчанию средства поиска для извлечения строк из целевой таблицы. Допускается значение массива, содержащий имя средства поиска и опции по умолчанию.
Тип
string|array$_foreignKey protected
Имя поля, представляющего внешний ключ к таблице для загрузки
Тип
string|string[]$_joinType protected
Тип соединения, используемый при добавлении ассоциации в запрос
Тип
string$_junctionAssociationName protected
Имя ассоциации hasMany от целевой таблицы к таблице соединения
Тип
string$_junctionConditions protected
Отфильтрованные условия, которые ссылаются на таблицу соединения.
Тип
array|null$_junctionProperty protected
Имя свойства, которое будет содержать данные из таблицы соединения после загрузки записи из целевой таблицы
Тип
string$_junctionTable protected
Экземпляр таблицы соединения
Тип
Cake\ORM\Table$_junctionTableName protected
Имя таблицы соединения
Тип
string$_name protected
Имя ассоциации, обычно представляющее псевдоним, назначенный целевой таблице
Тип
string$_propertyName protected
Имя свойства, которое должно быть заполнено данными из целевой таблицы в записи таблицы источника.
Тип
string$_saveStrategy protected
Стратегия сохранения, используемая этой ассоциацией
Тип
string$_sort protected
Порядок возврата записей целевой таблицы
Тип
mixed$_sourceTable protected
Экземпляр таблицы источника
Тип
Cake\ORM\Table$_strategy protected
Имя стратегии, используемой для извлечения связанных записей.
Тип
string$_tableLocator protected
Экземпляр локатора таблиц
Тип
Cake\ORM\Locator\LocatorInterface|null$_targetConditions protected
Отфильтрованные условия, которые ссылаются на целевую таблицу.
Тип
array|null$_targetForeignKey protected
Имя поля, представляющего внешний ключ к целевой таблице
Тип
string|string[]|null$_targetTable protected
Экземпляр целевой таблицы
Тип
Cake\ORM\Table$_through protected
Экземпляр таблицы для отношения соединения.
Тип
stringCake\ORM\Table$_validStrategies protected
Допустимые стратегии для этого типа ассоциации
Тип
string[]
© 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/4.2/class-Cake.ORM.Association.BelongsToMany.html