Класс Association
Связь — это отношение, установленное между двумя таблицами, которое используется для настройки и настройки способа извлечения взаимосвязанных записей.
Постоянные значения
-
stringMANY_TO_MANY'manyToMany'
Тип связи для связи «многие ко многим».
-
stringMANY_TO_ONE'manyToOne'
Тип связи для связи «многие к одному».
-
stringONE_TO_MANY'oneToMany'
Тип связи для связи «один ко многим».
-
stringONE_TO_ONE'oneToOne'
Тип связи для связи «один к одному».
-
stringSTRATEGY_JOIN'join'
Имя стратегии для использования соединений для извлечения связанных записей
-
stringSTRATEGY_SELECT'select'
Имя стратегии для использования оператора select для извлечения связанных записей
-
stringSTRATEGY_SUBQUERY'subquery'
Имя стратегии для использования подзапроса для извлечения связанных записей
Краткое описание свойств
- $_bindingKey protected
string|string[]|nullИмя поля в таблице со стороны владельца, которое используется для сопоставления с внешним ключом
- $_cascadeCallbacks protected
boolНужно ли вызывать обратные вызовы при каскадном удалении.
- $_className protected
stringИмя класса объекта целевой таблицы
- $_conditions protected
arrayClosureСписок условий, которые всегда должны включаться при извлечении записей из целевой связи
- $_dependent protected
boolЗависимы ли записи в целевой таблице от исходной таблицы, часто используется для указания того, что записи должны быть удалены, если владеющая запись в исходной таблице удаляется.
- $_finder protected
string|arrayИмя нахождения по умолчанию для извлечения строк из целевой таблицы. С массивом значения, имя нахождения и параметры по умолчанию разрешены.
- $_foreignKey protected
string|string[]Имя поля, представляющего внешний ключ для загружаемой таблицы
- $_joinType protected
stringТип соединения, который будет использоваться при добавлении связи к запросу
- $_name protected
stringИмя, заданное связи, обычно представляет собой псевдоним, назначенный целевой связанной таблице
- $_propertyName protected
stringИмя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
- $_sourceTable protected
Cake\ORM\TableЭкземпляр исходной таблицы
- $_strategy protected
stringИмя стратегии, которое будет использоваться для извлечения связанных записей. Некоторые типы связей могут не реализовывать, но одну стратегию для извлечения записей.
- $_tableLocator protected
Cake\ORM\Locator\LocatorInterface|nullЭкземпляр локатора таблиц
- $_targetTable protected
Cake\ORM\TableЭкземпляр целевой таблицы
- $_validStrategies protected
string[]Допустимые стратегии для этой связи. Подклассы могут сузить этот список.
Краткое описание методов
-
__call() public
Замещает вызовы методов целевой таблицы.
-
__construct() public
Конструктор. Подклассы могут переопределить функцию _options, чтобы получить исходный список переданных опций, если ожидается какой-либо другой специальный ключ
-
__get() public
Замещает получение свойств целевой таблицы. Это удобно для получения ассоциаций данной ассоциации.
-
__isset() public
Замещает вызов isset для целевой таблицы. Это удобно для проверки наличия другой ассоциации в целевой таблице с указанным именем.
-
_appendFields() protected
Вспомогательная функция, используемая для условного добавления полей к условию выборки запроса из полей, найденных в другом объекте запроса.
-
_appendNotMatching() protected
Условно добавляет условие к переданному запросу, которое заставит его находить записи, где нет совпадения с этой ассоциацией.
-
_bindNewAssociations() protected
Применяет все присоединяемые ассоциации к
$queryиз контейнеров, найденных в запросе$surrogate. -
_camelize() protected
Создает камелизированную версию $name.
-
_dispatchBeforeFind() protected
Вызывает beforeFind для целевой таблицы для запроса, к которому присоединяется данная ассоциация.
-
_entityName() protected
Создаёт правильное имя сущности (единственное число) для указанного имени.
-
_extractFinder() protected
Вспомогательный метод для определения запрошенного findera и его опций.
-
_fixtureName() protected
Создаёт имя фикстуры.
-
_formatAssociationResults() protected
Добавляет функцию форматирования к переданному
$query, если запрос$surrogateобъявляет другую функцию форматирования. Поскольку запрос$surrogateсоответствует связанной целевой таблице, результирующая функция форматирования будет результатом применения функций форматирования только к свойству, соответствующему данной таблице. -
_joinCondition() protected
Возвращает одно или несколько условий, которые необходимо добавить к сгенерированному условию объединения для получения результатов в целевой таблице.
-
_modelKey() protected
Создаёт правильный подчеркнутый ключ модели для ассоциаций.
-
_modelNameFromKey() protected
Создаёт правильное имя модели из внешнего ключа.
-
_options() protected
Переопределите эту функцию для инициализации любого конкретного класса ассоциации, ей будет передан исходный список опций, используемых в конструкторе.
-
_pluginNamespace() protected
Возвращает пространство имён плагина.
-
_pluginPath() protected
Находит правильный путь для плагина. Сканирует $pluginPaths для нужного плагина.
-
_pluralHumanName() protected
Создаёт множественное имя, используемое в представлениях.
-
_propertyName() protected
Возвращает имя свойства по умолчанию на основе имени ассоциации.
-
_singularHumanName() protected
Создаёт единственное имя, используемое в представлениях.
-
_singularName() protected
Создаёт единственное имя для использования в представлениях.
-
_variableName() protected
Создаёт множественное имя переменной для представлений.
-
attachTo() public
Изменяет объект Query, чтобы включить данные связанной целевой таблицы в окончательный результат.
-
canBeJoined() public
Можно ли выразить эту ассоциацию непосредственно в объединении запроса.
-
cascadeDelete() abstract public
Обрабатывает каскадное удаление из связанной модели.
-
defaultRowValue() public
Возвращает изменённую строку после добавления свойства для этой ассоциации со значением по умолчанию в зависимости от того, была ли ассоциация присоединена или получена извне.
-
deleteAll() public
Замещает операцию удаления методом deleteAll целевой таблицы.
-
eagerLoader() abstract public
Загружает список записей в целевой таблице, которые связаны с другим набором записей в исходной таблице. Исходные записи можно указать двумя способами: первый способ — передать объект запроса, настроенный для поиска в исходной таблице, а второй — явно передать массив значений первичного ключа из исходной таблицы.
-
exists() public
Замещает операцию для проверки существования в целевой таблице после добавления условий по умолчанию для этой ассоциации.
-
find() public
Замещает операцию поиска в целевой таблице и изменяет запрос в соответствии с конфигурацией этой ассоциации.
-
getBindingKey() public
Получает имя поля, представляющего поле связи с целевой таблицей. Если не указано явно, используется первичный ключ таблицы, владеющей стороной.
-
getCascadeCallbacks() public
Получает, должны ли также срабатывать обратные вызовы при каскадном удалении.
-
getClassName() public
Получает имя класса объекта целевой таблицы.
-
getConditions() public
Получает список условий, которые всегда должны включаться при получении записей из целевой ассоциации.
-
getDependent() public
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
-
getFinder() public
Получает findera по умолчанию для получения строк из целевой таблицы.
-
getForeignKey() public
Получает имя поля, представляющего внешний ключ целевой таблицы.
-
getJoinType() public
Получает тип объединения, который будет использоваться при добавлении ассоциации в запрос.
-
getName() public
Получает имя для этой ассоциации, обычно алиас, назначенный целевой связанной таблице.
-
getProperty() public
Получает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
-
getSource() public
Получает экземпляр таблицы для стороны источника ассоциации.
-
getStrategy() public
Получает имя стратегии, которое будет использоваться для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но использовать по умолчанию стратегию, что делает любые изменения в этом параметре недействительными.
-
getTableLocator() public
Получает локатор таблицы.
-
getTarget() public
Получает экземпляр таблицы для целевой стороны ассоциации.
-
isOwningSide() abstract public
Возвращает значение, указывающее, является ли переданная таблица стороной владения для данной ассоциации. Это означает, что строки в таблице «target» могут потерять важную или необходимую информацию, если строки в таблице «source» не существует.
-
requiresKeys() public
Возвращает true, если процесс жадной загрузки потребует набор связывающих ключей таблицы владения для использования их в качестве фильтра в запросе на поиск.
-
saveAssociated() abstract public
Извлекает данные ассоциации целевой таблицы из переданного сущности и делегирует операцию сохранения целевой таблице.
-
setBindingKey() public
Устанавливает имя поля, представляющего связующее поле с целевой таблицей. Если не указано явно, используется первичный ключ таблицы владения.
-
setCascadeCallbacks() public
Устанавливает, должны ли также выполняться обратные вызовы при каскадном удалении.
-
setClassName() public
Устанавливает имя класса объекта целевой таблицы.
-
setConditions() public
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
-
setDependent() public
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
-
setFinder() public
Устанавливает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
-
setForeignKey() public
Устанавливает имя поля, представляющего внешний ключ к целевой таблице.
-
setJoinType() public
Устанавливает тип соединения, который будет использоваться при добавлении ассоциации в запрос.
-
setName() public
Устанавливает имя для данной ассоциации, обычно псевдоним, назначенный целевой связанной таблице.
-
setProperty() public
Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
-
setSource() public
Устанавливает экземпляр таблицы для стороны источника ассоциации.
-
setStrategy() public
Устанавливает имя стратегии, которое будет использоваться для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но использовать по умолчанию стратегию, что делает любые изменения в этом параметре недействительными.
-
setTableLocator() public
Устанавливает локатор таблицы.
-
setTarget() public
Устанавливает экземпляр таблицы для целевой стороны ассоциации.
-
transformRow() public
Правильно вкладывает значения связанных строк результатов в правильные ключи массива внутри исходных результатов.
-
type() abstract public
Получает тип отношения.
-
updateAll() public
Делегирует операцию обновления методу updateAll целевой таблицы.
Подробное описание методов
__call() public
__call(string $method, array $argument): mixed
Перенаправляет вызовы методов на целевую таблицу.
Параметры
-
string$method имя вызываемого метода
-
array$argument Список аргументов, переданных функции
Возвращает
mixedИсключения
BadMethodCallException__construct() public
__construct(string $alias, array $options = [])
Конструктор. Подклассы могут переопределить функцию _options, чтобы получить исходный список переданных параметров, если ожидается какой-либо другой специальный ключ
Параметры
-
string$alias Имя, данное ассоциации
-
array$options optional Список свойств, которые должны быть установлены для этого объекта
__get() public
__get(string $property): Cake\ORM\Association
Перенаправляет получение свойства на целевую таблицу. Это удобно для получения ассоциаций этой ассоциации
Параметры
-
string$property имя свойства
Возвращает
Cake\ORM\AssociationИсключения
RuntimeExceptionесли ассоциация с таким именем не существует
__isset() public
__isset(string $property): bool
Перенаправляет вызов isset на целевую таблицу. Это удобно для проверки, есть ли у целевой таблицы другая ассоциация с переданным именем
Параметры
-
string$property имя свойства
Возвращает
bool_appendFields() protected
_appendFields(Cake\ORM\Query $query, Cake\ORM\Query $surrogate, array $options): void
Вспомогательная функция, используемая для условного добавления полей в предложение select запроса из полей, найденных в другом объекте запроса.
Параметры
-
Cake\ORM\Query$query запрос, к которому будут добавлены поля
-
Cake\ORM\Query$surrogate запрос, содержащий поля, которые нужно скопировать
-
array$options параметры, переданные методу
attachTo
Возвращает
void_appendNotMatching() protected
_appendNotMatching(Cake\ORM\Query $query, array $options): void
Условно добавляет условие к переданному запросу Query, которое позволит ему находить записи, где нет совпадений с этой ассоциацией.
Параметры
-
Cake\ORM\Query$query Запрос для изменения
-
array$options Массив параметров, содержащий ключ
negateMatch.
Возвращает
void_bindNewAssociations() protected
_bindNewAssociations(Cake\ORM\Query $query, Cake\ORM\Query $surrogate, array $options): void
Применяет все присоединяемые ассоциации к $query из содержащихся в запросе $surrogate.
Копирует все содержащиеся ассоциации из запроса $surrogate в переданный $query. Содержания изменяются таким образом, чтобы они соответствовали цепочке ассоциаций, из которой они произошли.
Параметры
-
Cake\ORM\Query$query запрос, к которому будут присоединены ассоциации
-
Cake\ORM\Query$surrogate запрос, содержащий вложения для присоединения
-
array$options параметры, переданные методу
attachTo
Возвращает
void_camelize() protected
_camelize(string $name): string
Создает версию $name в стиле camelCase
Параметры
-
string$name имя
Возвращает
string_dispatchBeforeFind() protected
_dispatchBeforeFind(Cake\ORM\Query $query): void
Вызывает beforeFind в целевой таблице для запроса, к которому присоединяется эта ассоциация
Параметры
-
Cake\ORM\Query$query запрос, к которому присоединяется эта ассоциация
Возвращает
void_entityName() protected
_entityName(string $name): string
Создает правильное имя сущности (единственное число) для указанного имени
Параметры
-
string$name Имя
Возвращает
string_extractFinder() protected
_extractFinder(string|array $finderData): array
Вспомогательный метод для вывода запрошенного поиска и его параметров.
Возвращает выведенные параметры из поиска $type.
Примеры:
Следующий код вызовет поиск 'translations' со значением поиска в качестве параметров: $query->contain(['Comments' => ['finder' => ['translations']]]); $query->contain(['Comments' => ['finder' => ['translations' => []]]]); $query->contain(['Comments' => ['finder' => ['translations' => ['locales' => ['en_US']]]]]);
Параметры
-
string|array$finderData Имя поиска или массив, содержащий имя в качестве ключа и параметры в качестве значения.
Возвращает
array_fixtureName() protected
_fixtureName(string $name): string
Создает имя фикстуры
Параметры
-
string$name Имя класса модели
Возвращает
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_joinCondition() protected
_joinCondition(array $options): array
Возвращает одно или несколько условий, которые должны быть добавлены к сгенерированному предложению join для получения результатов в целевой таблице.
Параметры
-
array$options список параметров, переданных методу attachTo
Возвращает
arrayИсключения
RuntimeExceptionесли количество столбцов в foreignKey не совпадает с количеством столбцов в первичном ключе исходной таблицы
_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_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) записей, найденных по этой ассоциации
- aliasPath: Строка с разделением точкой, представляющая путь имён ассоциаций от основной таблицы переданного запроса до этой ассоциации.
- propertyPath: Строка с разделением точкой, представляющая путь свойств ассоциации, которые нужно проследить от основного сущности переданного запроса до этой ассоциации
- joinType: Тип SQL-объединения для использования в запросе.
- negateMatch: Добавит условие в переданный запрос для исключения совпадений с этой ассоциацией.
Параметры
-
Cake\ORM\Query$query Запрос, который нужно изменить, чтобы включить данные целевой таблицы
-
array$options optional Дополнительные параметры или переопределения, которые необходимо принять во внимание
Возвращает
voidВыбрасывает
RuntimeExceptionесли билдер запросов не возвращает объект запроса
canBeJoined() public
canBeJoined(array $options = []): bool
Можно ли выразить эту ассоциацию непосредственно в соединении запроса.
Параметры
-
array$options optional настраиваемый ключ опций, который может изменить возвращаемое значение
Возвращает
boolcascadeDelete() abstract 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() abstract public
eagerLoader(array $options): Closure
Загружает список записей в целевой таблице, которые связаны с другой группой записей в исходной таблице. Источник записей можно указать двумя способами: первый — передав объект Query, настроенный для поиска в исходной таблице, второй — явно передав массив значений первичных ключей из исходной таблицы.
Требуемый способ передачи связанных записей источника управляется "стратегией". При использовании стратегии подзапроса требуется запрос на исходную таблицу. При использовании стратегии выбора используется список первичных ключей.
Возвращает замыкание, которое должно выполняться для каждой записи, возвращённой в определённом Query. Это вызываемое будет отвечать за вставку полей, связанных с каждой конкретной переданной строкой.
Массив опций принимает следующие ключи:
- query: Объект Query, настроенный для поиска записей исходной таблицы
- keys: Список значений первичных ключей из исходной таблицы
- foreignKey: Название поля, используемого для связывания обеих таблиц
- conditions: Список условий, которые нужно передать методу query 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
Возвращает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
Возвращает
stringgetSource() 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\TableisOwningSide() abstract public
isOwningSide(Cake\ORM\Table $side): bool
Возвращает значение, указывающее, является ли переданная таблица стороной владельца для этой ассоциации. Это означает, что строки в таблице «target» могут потерять важную или необходимую информацию, если строка в «source» не существует.
Параметры
-
Cake\ORM\Table$side Возможная таблица с владением
Возвращает
boolrequiresKeys() public
requiresKeys(array $options = []): bool
Возвращает true, если процесс жадного загрузки потребует набора идентификаторов связывающей таблицы владельца для их использования в качестве фильтра в запросе на поиск.
Параметры
-
array$options optional Параметры, содержащие используемую стратегию.
Возвращает
boolsaveAssociated() abstract public
saveAssociated(Cake\Datasource\EntityInterface $entity, array $options = []): Cake\Datasource\EntityInterface|false
Извлекает данные ассоциации целевого объекта из переданного сущности и делегирует операцию сохранения целевой таблице.
Параметры
-
Cake\Datasource\EntityInterface$entity сохраняемые данные
-
array$options optional Параметры для сохранения связанных данных.
Возвращает
Cake\Datasource\EntityInterface|falseСм. также
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\AssociationСм. также
setDependent() 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 для чтения текущего значения.
Возвращаемое значение
$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 экземпляр, который нужно назначить на целевую сторону
Возвращаемое значение
$thistransformRow() public
transformRow(array $row, string $nestKey, bool $joined, string|null $targetProperty = null): array
Правильно вкладывает значения связанной строки результата в правильные ключи массива внутри исходных результатов.
Параметры
-
array$row Строка для преобразования
-
string$nestKey Ключ массива, под которым должны быть найдены результаты этой ассоциации
-
bool$joined Является ли строка результатом прямого соединения с этой ассоциацией
-
string|null$targetProperty optional Имя свойства в исходных результатах, где должны быть вложены данные ассоциации. Будет использоваться по умолчанию, если не указано.
Возвращаемое значение
arraytype() abstract public
type(): string
Получить тип отношения.
Возвращаемое значение
stringupdateAll() 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
Зависимы ли записи в целевой таблице от исходной таблицы. Часто используется для указания на то, что записи должны быть удалены, если владеющая запись в исходной таблице удалена.
Тип
bool$_finder protected
Имя используемого по умолчанию средства поиска для извлечения строк из целевой таблицы. Допускается использование массива со значением, именем средства поиска и параметрами по умолчанию.
Тип
string|array$_foreignKey protected
Имя поля, представляющего внешний ключ для загружаемой таблицы
Тип
string|string[]$_joinType protected
Тип соединения, используемого при добавлении ассоциации в запрос
Тип
string$_name protected
Имя ассоциации, обычно представляющее псевдоним, назначенный целевой таблице ассоциации
Тип
string$_propertyName protected
Имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
Тип
string$_sourceTable protected
Экземпляр исходной таблицы
Тип
Cake\ORM\Table$_strategy protected
Имя стратегии, которое будет использовано для извлечения связанных записей. Некоторые типы ассоциаций могут не реализовывать, но одну стратегию для извлечения записей.
Тип
string$_tableLocator protected
Экземпляр локатора таблиц
Тип
Cake\ORM\Locator\LocatorInterface|null$_targetTable protected
Экземпляр целевой таблицы
Тип
Cake\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.html