Класс 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
array<string>|string|nullИмя поля в таблице владения, которое используется для сопоставления с foreignKey
- $_cascadeCallbacks protected
boolСледует ли также запускать обратные вызовы при каскадном удалении.
- $_className protected
stringИмя класса объекта целевой таблицы
- $_conditions protected
Closure|arrayСписок условий, которые всегда должны включаться при извлечении записей из целевой связи
- $_dependent protected
boolЗависит ли запись в целевой таблице от исходной таблицы; часто используется для указания того, что записи следует удалять, если владеющая запись в исходной таблице удаляется.
- $_finder protected
array|stringИмя нахождения по умолчанию для извлечения строк из целевой таблицы. С массивом значения, имя нахождения и параметры по умолчанию разрешены.
- $_foreignKey protected
array<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
array<string>Допустимые стратегии для этой связи. Подклассы могут сузить это.
- $defaultTable protected
string|nullПсевдоним таблицы по умолчанию для этого объекта.
Краткое описание методов
__call()public
Делегирует вызовы методов целевой таблице.
__construct()public
Конструктор. Подклассы могут переопределить функцию _options, чтобы получить исходный список переданных параметров, если ожидают какие-либо другие специальные ключи.
__get()public
Делегирует получение свойств целевой таблице. Это удобно для получения ассоциаций этой ассоциации.
__isset()public
Делегирует вызов isset целевой таблице. Это удобно для проверки наличия другой ассоциации в целевой таблице с заданным именем.
_appendFields()protected
Вспомогательная функция, используемая для условного добавления полей к фрагменту SELECT запроса из полей, найденных в другом объекте запроса.
_appendNotMatching()protected
Условно добавляет условие к переданному запросу, которое будет искать записи, где нет совпадения с этой ассоциацией.
_bindNewAssociations()protected
Применяет все присоединяемые ассоциации к
$queryиз контейнеров, найденных в запросе$surrogate._camelize()protected
Создает версию $name в формате camelCase.
_dispatchBeforeFind()protected
Вызывает beforeFind для целевой таблицы для запроса, к которому присоединяется эта ассоциация.
_entityName()protected
Создает правильное имя сущности (единственное число) для указанного имени.
_extractFinder()protected
Вспомогательный метод для определения запрошенного findera и его параметров.
_fixtureName()protected
Создает имя фикстуры.
_formatAssociationResults()protected
Добавляет функцию форматирования к переданному
$query, если запрос$surrogateобъявляет другую функцию форматирования. Поскольку запрос$surrogateсоответствует связанной целевой таблице, результирующая функция форматирования будет результатом применения функций форматирования только к свойству, соответствующему данной таблице._joinCondition()protected
Возвращает одно или несколько условий, которые нужно добавить к генерируемому фрагменту JOIN для получения результатов в целевой таблице.
_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()abstractpublic
Обрабатывает каскадное удаление из связанной модели.
defaultRowValue()public
Возвращает изменённую строку после добавления свойства для этой ассоциации со значением по умолчанию в зависимости от того, была ли ассоциация присоединена или получена внешне.
deleteAll()public
Делегирует операцию удаления методу deleteAll целевой таблицы.
eagerLoader()abstractpublic
Загружает список записей в целевой таблице, связанных с другим набором записей в исходной таблице. Записи исходной таблицы можно указать двумя способами: во-первых, передав объект Query, настроенный для поиска в исходной таблице, а во-вторых, явно передав массив значений первичных ключей из исходной таблицы.
exists()public
Делегирует операцию целевой таблице метод exists после добавления стандартных условий для этой ассоциации.
fetchTable()public
Удобный метод для получения экземпляра таблицы.
find()public
Делегирует операцию поиска методу find целевой таблицы и изменяет запрос в соответствии с настройками этой ассоциации.
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 deprecated
Устанавливает имя этой ассоциации, обычно псевдоним, назначенный целевой связанной таблице
-
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<string, mixed> $options = [])
Конструктор. Подклассы могут переопределить функцию _options, чтобы получить исходный список переданных параметров, если ожидается какой-либо другой специальный ключ
Параметры
-
string$alias Имя, данное ассоциации
-
array<string, mixed>$options optional Список свойств, которые должны быть установлены для этого объекта
__get() public
__get(string $property): Cake\ORM\Association
Перенаправляет получение свойства на целевую таблицу. Это удобно для получения ассоциаций этой ассоциации
Параметры
-
string$property имя свойства
Возвращаемое значение
Cake\ORM\AssociationИсключения
RuntimeExceptionif no association with such name exists
__isset() public
__isset(string $property): bool
Перенаправляет вызов isset на целевую таблицу. Это удобно для проверки, есть ли у целевой таблицы другая ассоциация с переданным именем
Параметры
-
string$property имя свойства
Возвращаемое значение
bool_appendFields() protected
_appendFields(Cake\ORM\Query $query, Cake\ORM\Query $surrogate, array<string, mixed> $options): void
Вспомогательная функция, используемая для условного добавления полей в предложение select запроса из полей, найденных в другом объекте запроса.
Параметры
-
Cake\ORM\Query$query запрос, к которому будут добавлены поля
-
Cake\ORM\Query$surrogate запрос, содержащий поля, которые необходимо скопировать
-
array<string, mixed>$options параметры, переданные методу
attachTo
Возвращаемое значение
void_appendNotMatching() protected
_appendNotMatching(Cake\ORM\Query $query, array<string, mixed> $options): void
Условно добавляет условие к переданному запросу Query, которое заставит его находить записи, где нет совпадения с этой ассоциацией.
Параметры
-
Cake\ORM\Query$query Запрос для изменения
-
array<string, mixed>$options Массив параметров, содержащий ключ
negateMatch.
Возвращаемое значение
void_bindNewAssociations() protected
_bindNewAssociations(Cake\ORM\Query $query, Cake\ORM\Query $surrogate, array<string, mixed> $options): void
Применяет все присоединяемые ассоциации к $query из включений, найденных в запросе $surrogate.
Копирует все содержащиеся ассоциации из запроса $surrogate в переданный $query. Включения изменяются таким образом, чтобы они соответствовали цепочке ассоциаций, из которой они произошли.
Параметры
-
Cake\ORM\Query$query запрос, к которому будут прикреплены ассоциации
-
Cake\ORM\Query$surrogate запрос, содержащий включения, которые необходимо прикрепить
-
array<string, mixed>$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(array|string $finderData): array
Вспомогательный метод для вывода запрошенного findera и его параметров.
Возвращает выведенные параметры из findera $type.
Примеры:
Следующий код вызовет finder 'translations' со значением findera в качестве его параметров: $query->contain(['Comments' => ['finder' => ['translations']]]); $query->contain(['Comments' => ['finder' => ['translations' => []]]]); $query->contain(['Comments' => ['finder' => ['translations' => ['locales' => ['en_US']]]]]);
Параметры
-
array|string$finderData Имя findera или массив, содержащий имя в качестве ключа и параметры в качестве значения.
Возвращаемое значение
array_fixtureName() protected
_fixtureName(string $name): string
Создает имя фикстуры
Параметры
-
string$name Имя класса модели
Возвращаемое значение
string_formatAssociationResults() protected
_formatAssociationResults(Cake\ORM\Query $query, Cake\ORM\Query $surrogate, array<string, mixed> $options): void
Добавляет функцию форматирования к переданному $query, если запрос $surrogate объявляет другую функцию форматирования. Так как запрос $surrogate соответствует связанной целевой таблице, результирующая функция форматирования будет результатом применения функций форматирования суррогата только к свойству, соответствующему такой таблице.
Параметры
-
Cake\ORM\Query$query запрос, к которому будет применена функция форматирования
-
Cake\ORM\Query$surrogate запрос, содержащий функции форматирования для связанной целевой таблицы.
-
array<string, mixed>$options параметры, переданные методу
attachTo
Возвращаемое значение
void_joinCondition() protected
_joinCondition(array<string, mixed> $options): array
Возвращает одно или несколько условий, которые должны быть добавлены к сгенерированному предложению join для получения результатов в целевой таблице.
Параметры
-
array<string, mixed>$options список параметров, переданных методу attachTo
Возвращаемое значение
arrayИсключения
RuntimeExceptionif the number of columns in the foreignKey do not match the number of columns in the source table primaryKey
_modelKey() protected
_modelKey(string $name): string
Создает правильный подчеркнутый ключ модели для ассоциаций
Если входные данные содержат точку, предполагается, что правая часть является реальным именем таблицы.
Параметры
-
string$name Имя класса модели
Возвращаемое значение
string_modelNameFromKey() protected
_modelNameFromKey(string $key): string
Создает правильное имя модели из внешнего ключа
Параметры
-
string$key Внешний ключ
Возвращаемое значение
string_options() protected
_options(array<string, mixed> $options): void
Переопределите эту функцию для инициализации любого конкретного класса ассоциации, ей будет передан исходный список параметров, используемых в конструкторе
Параметры
-
array<string, mixed>$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<string, mixed> $options = []): void
Изменяет объект Query для включения данных связанной целевой таблицы в окончательный результат
Массив параметров может содержать следующие ключи:
- includeFields: Включать ли поля целевой модели в результат
- foreignKey: Название поля для использования в качестве внешнего ключа, если false, не используется
- conditions: Массив с списком условий для фильтрации объединения, он будет объединён с любыми условиями, первоначально настроенными для этой ассоциации
- fields: Список полей в целевой таблице для включения в результат
- aliasPath: Строка с разделителем «.» для представления пути имён ассоциаций, начиная от основной таблицы запроса до этой ассоциации.
- propertyPath: Строка с разделителем «.» для представления пути свойств ассоциаций, которые нужно пройти от основного сущности запроса к этой ассоциации
- joinType: Тип SQL-соединения для использования в запросе.
- negateMatch: Добавит условие в переданный запрос для исключения совпадений с этой ассоциацией.
Параметры
-
Cake\ORM\Query$query Запрос, который будет изменён для включения данных целевой таблицы
-
array<string, mixed>$options optional Дополнительные параметры или переопределения, которые необходимо принять во внимание
Возвращаемое значение
voidИсключения
RuntimeExceptionНевозможно создать запрос или ассоциации.
canBeJoined() public
canBeJoined(array<string, mixed> $options = []): bool
Можно ли выразить эту ассоциацию напрямую в соединении запроса
Параметры
-
array<string, mixed>$options optional Дополнительные параметры, которые могут изменить возвращаемое значение
Возвращаемое значение
boolcascadeDelete() abstract public
cascadeDelete(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): bool
Обрабатывает каскадное удаление из связанной модели.
Каждый реализующий класс должен обрабатывать каскадное удаление, как требуется.
Параметры
-
Cake\Datasource\EntityInterface$entity Сущность, которая инициировала каскадное удаление.
-
array<string, mixed>$options optional Параметры для исходного удаления.
Возвращаемое значение
booldefaultRowValue() public
defaultRowValue(array $row, bool $joined): array
Возвращает изменённую строку после добавления свойства для этой ассоциации со значением по умолчанию в зависимости от того, была ли ассоциация присоединена или получена извне.
Параметры
-
array$row Строка, для которой необходимо установить значение по умолчанию.
-
bool$joined Является ли строка результатом прямого присоединения к этой ассоциации
Возвращаемое значение
arraydeleteAll() public
deleteAll(Cake\Database\ExpressionInterfaceClosure|array|string|null $conditions): int
Делегирует операцию удаления методу deleteAll целевой таблицы
Параметры
-
Cake\Database\ExpressionInterfaceClosure|array|string|null$conditions Условия, принимающие всё, что может принять Query::where().
Возвращаемое значение
intСм. также
eagerLoader() abstract public
eagerLoader(array<string, mixed> $options): Closure
Загружает список записей в целевой таблице, связанных с другим набором записей в исходной таблице. Исходные записи могут быть указаны двумя способами: первый — передача объекта Query, настроенного для поиска в исходной таблице, второй — явное указание массива значений первичного ключа из исходной таблицы.
Требуемый способ передачи связанных исходных записей управляется «стратегией». При использовании стратегии подзапроса потребуется запрос в исходной таблице. При использовании стратегии выбора будет использован список первичных ключей.
Возвращает замыкание, которое должно быть выполнено для каждой записи, возвращаемой в конкретном запросе. Эта вызываемая функция будет отвечать за вставку полей, связанных с каждой конкретной переданной строкой.
Массив параметров принимает следующие ключи:
- query: Объект Query, настроенный для поиска записей исходной таблицы
- keys: Список значений первичного ключа из исходной таблицы
- foreignKey: Название поля, используемого для связи обеих таблиц
- conditions: Список условий, которые нужно передать в метод where() запроса
- sort: Направление, в котором должны возвращаться записи
- fields: Список полей для выбора из целевой таблицы
- contain: Список связанных таблиц для загрузки ассоциаций с целевой таблицей
- strategy: Название стратегии для использования при поиске записей целевой таблицы
- nestKey: Ключ массива, под которым будут находиться результаты при преобразовании строки
Параметры
-
array<string, mixed>$options Параметры для ленивой загрузки.
Возвращаемое значение
Closureexists() public
exists(Cake\Database\ExpressionInterfaceClosure|array|string|null $conditions): bool
Делегирует операцию целевой таблице exists после добавления условий по умолчанию для этой ассоциации
Параметры
-
Cake\Database\ExpressionInterfaceClosure|array|string|null$conditions Условия для проверки соответствия записи.
Возвращаемое значение
boolСм. также
fetchTable() public
fetchTable(string|null $alias = null, array<string, mixed> $options = []): Cake\ORM\Table
Метод для получения экземпляра таблицы.
Параметры
-
string|null$alias необязательный Имя псевдонима, которое нужно получить. Должно быть в формате CamelCase. Если
null, то используется значение свойства $defaultTable.-
array<string, mixed>$options необязательный Настройки, с помощью которых нужно создать таблицу. Если таблица уже загружена, настройки реестра будут проигнорированы.
Возвращает
Cake\ORM\TableИсключение
Cake\Core\Exception\CakeExceptionЕсли аргумент `$alias` и свойство `$defaultTable` оба имеют значение `null`.
См. также
find() public
find(array<string, mixed>|string|null $type = null, array<string, mixed> $options = []): Cake\ORM\Query
Делегирует операцию поиска методу find целевой таблицы и соответственно изменяет запрос на основе настроек этой ассоциации.
Параметры
-
array<string, mixed>|string|null$type необязательный тип запроса, если передается массив, он будет интерпретирован как
$optionsпараметр-
array<string, mixed>$options необязательный Настройки для поиска
Возвращает
Cake\ORM\QueryСм. также
getBindingKey() public
getBindingKey(): array<string>|string
Возвращает имя поля, представляющего поле привязки к целевой таблице. Если не указано вручную, используется первичный ключ таблицы-владельца.
Возвращает
array<string>|stringgetCascadeCallbacks() public
getCascadeCallbacks(): bool
Возвращает значение, определяющее, следует ли также запускать коллбеки при каскадных удалениях.
Возвращает
boolgetClassName() public
getClassName(): string
Возвращает имя класса объекта целевой таблицы.
Возвращает
stringgetConditions() public
getConditions(): Closure|array
Возвращает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
Возвращает
Closure|arrayСм. также
getDependent() public
getDependent(): bool
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
Это используется главным образом для указания того, что записи должны быть удалены, если владеющая запись в исходной таблице удаляется.
Возвращает
boolgetFinder() public
getFinder(): array|string
Возвращает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
Возвращает
array|stringgetForeignKey() public
getForeignKey(): array<string>|string
Возвращает имя поля, представляющего внешний ключ к целевой таблице.
Возвращает
array<string>|stringgetJoinType() 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<string, mixed> $options = []): bool
Возвращает true, если процесс ленивой загрузки потребует набор связывающих ключей таблицы-владельца для использования их в качестве фильтра в запросе поиска.
Параметры
-
array<string, mixed>$options необязательный Настройки, содержащие используемую стратегию.
Возвращает
boolsaveAssociated() abstract public
saveAssociated(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): Cake\Datasource\EntityInterface|false
Извлекает данные ассоциации целевого объекта из переданного сущности и делегирует операцию сохранения целевой таблице.
Параметры
-
Cake\Datasource\EntityInterface$entity данные для сохранения
-
array<string, mixed>$options необязательный Настройки для сохранения связанных данных.
Возвращает
Cake\Datasource\EntityInterface|falseСм. также
setBindingKey() public
setBindingKey(array<string>|string $key): $this
Устанавливает имя поля, представляющего поле привязки к целевой таблице. Если не указано вручную, используется первичный ключ таблицы-владельца.
Параметры
-
array<string>|string$key поле или поля таблицы, которые будут использоваться для связки обеих таблиц вместе
Возвращает
$thissetCascadeCallbacks() public
setCascadeCallbacks(bool $cascadeCallbacks): $this
Устанавливает, следует ли также запускать коллбеки при каскадных удалениях.
Параметры
-
bool$cascadeCallbacks значение переключателя каскадных коллбеков
Возвращает
$thissetClassName() public
setClassName(string $className): $this
Устанавливает имя класса объекта целевой таблицы.
Параметры
-
string$className Имя класса, которое нужно установить.
Возвращает
$thisИсключение
InvalidArgumentExceptionЕсли имя класса установлено после того, как целевая таблица была разрешена, и оно не соответствует имени класса целевой таблицы.
setConditions() public
setConditions(Closure|array $conditions): $this
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевого соединения.
Параметры
-
Closure|array$conditions список условий, которые будут использоваться
Возвращает
$thisСм. также
setDependent() public
setDependent(bool $dependent): $this
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
Это в основном используется для указания того, что записи должны быть удалены, если владеющая запись в исходной таблице удалена.
Если параметры не переданы, возвращается текущее значение.
Параметры
-
bool$dependent Установить режим зависимости. Используйте null для чтения текущего состояния.
Возвращает
$thissetFinder() public
setFinder(array|string $finder): $this
Устанавливает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
Параметры
-
array|string$finder имя поиска для использования или массив из имени поиска и опций.
Возвращает
$thissetForeignKey() public
setForeignKey(array<string>|string $key): $this
Устанавливает имя поля, представляющего внешний ключ целевой таблицы.
Параметры
-
array<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 Является ли строка результатом прямого соединения с этой ассоциацией
-
bool$targetProperty optional Имя свойства в исходных результатах, где данные ассоциации должны быть вложены. Будет использовано значение по умолчанию, если не указано.
Возвращает
arraytype() abstract public
type(): string
Получить тип отношения.
Возвращает
stringupdateAll() public
updateAll(array $fields, Cake\Database\ExpressionInterfaceClosure|array|string|null $conditions): int
Делегирует операцию обновления методу updateAll целевой таблицы
Параметры
-
array$fields Хэш поле => новое значение.
-
Cake\Database\ExpressionInterfaceClosure|array|string|null$conditions Условия, которые будут использованы. Принимает все, что может обработать Query::where().
Возвращает
intСм. также
Подробное описание свойств
$_bindingKey protected
Имя поля в таблице со стороны владельца, используемое для сопоставления с внешним ключом
Тип
array<string>|string|null$_cascadeCallbacks protected
Включать ли каскадные удаления с вызовом обратных вызовов.
Тип
bool$_className protected
Имя класса объекта целевой таблицы
Тип
string$_conditions protected
Список условий, которые всегда включаются при извлечении записей из целевой ассоциации
Тип
Closure|array$_dependent protected
Зависимы ли записи в целевой таблице от исходной таблицы; часто используется для указания того, что записи должны быть удалены, если запись-владелец в исходной таблице удаляется.
Тип
bool$_finder protected
Имя используемого по умолчанию поиска для извлечения строк из целевой таблицы. Допускается массив со значением, именем поиска и параметрами по умолчанию.
Тип
array|string$_foreignKey protected
Имя поля, представляющего внешний ключ к таблице для загрузки
Тип
array<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
Допустимые стратегии для этой ассоциации. Подклассы могут сузить этот список.
Тип
array<string>$defaultTable protected
Псевдоним таблицы по умолчанию для этого объекта.
Тип
string|null
© 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.3/class-Cake.ORM.Association.html