Класс BelongsTo
Представляет отношение 1 - N, где сторона источника отношения связана только с одной записью в целевой таблице.
Пример ассоциации BelongsTo: Статья принадлежит Автору.
Константы
-
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
-
_dispatchBeforeFind() protected
Вызывает beforeFind для целевой таблицы для запроса, к которому присоединяется эта ассоциация.
-
_entityName() protected
Создаёт правильное имя сущности (единственное число) для указанного имени.
-
_extractFinder() protected
Вспомогательный метод для определения запрошенного поиска и его параметров.
-
_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
Изменяет объект запроса, чтобы включить данные связанной целевой таблицы в окончательный результат.
-
canBeJoined() public
Можно ли выразить эту ассоциацию напрямую в соединении запроса?
-
cascadeDelete() public
Обработка каскадных удалений.
-
defaultRowValue() public
Возвращает изменённую строку после добавления свойства для этой ассоциации со значением по умолчанию (пустое значение), в зависимости от того, была ли ассоциация присоединена или получена внешне.
-
deleteAll() public
Делегирует операцию удаления методу deleteAll целевой таблицы.
-
eagerLoader() public
Загружает жадно список записей в целевой таблице, которые связаны с другим набором записей в исходной таблице. Источник записей может быть указан двумя способами: первый способ — передать объект запроса, настроенный для поиска в исходной таблице, а другой способ — явно передать массив значений первичного ключа из исходной таблицы.
-
exists() public
Делегирует операцию целевой таблице exists после добавления стандартных условий для этой ассоциации.
-
fetchTable() public
Удобный метод для получения экземпляра таблицы.
-
find() public
Делегирует операцию поиска методу find целевой таблицы и изменяет запрос в соответствии с настройками этой ассоциации.
-
getBindingKey() public
Получает имя поля, представляющего поле привязки к целевой таблице. Если не указано вручную, используется первичный ключ таблицы-владельца.
-
getCascadeCallbacks() public
Получает, следует ли также запускать обратные вызовы при каскадных удалениях.
-
getClassName() public
Получает имя класса объекта целевой таблицы.
-
getConditions() public
Получает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
-
getDependent() public
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
-
getFinder() public
Получает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
-
getForeignKey() public
Получает имя поля, представляющего внешний ключ к целевой таблице.
-
getJoinType() public
Получает тип соединения, который будет использоваться при добавлении ассоциации в запрос.
-
getName() public
Получает имя этой ассоциации, обычно псевдоним, назначенный целевой связанной таблице
-
getProperty() public
Получает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
-
getSource() public
Получает экземпляр таблицы для исходной стороны ассоциации.
-
getStrategy() public
Получает имя стратегии, которое будет использоваться для получения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но использовать стратегию по умолчанию, что делает любые изменения в этом параметре недействительными.
-
getTableLocator() public
Получает локатор таблицы.
-
getTarget() public
Получает экземпляр таблицы для целевой стороны ассоциации.
-
isOwningSide() public
Возвращает значение, указывающее, является ли переданная таблица стороной владения для этой ассоциации. Это означает, что строки в таблице «target» могут потерять важную или необходимую информацию, если строка в «source» не существует.
-
requiresKeys() public
Возвращает true, если процесс жадного загрузки потребует набора связывающих ключей таблицы владения, чтобы использовать их в качестве фильтра в запросе поиска.
-
saveAssociated() public
Принимает сущность из исходной таблицы и проверяет, есть ли поле, соответствующее имени свойства для этой ассоциации. Найденная сущность будет сохранена в целевой таблице для этой ассоциации, передавая предоставленное
$options -
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() 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Исключения
RuntimeExceptionесли не существует ассоциации с таким именем
__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
Вспомогательный метод для вывода запрошенного поиска и его параметров.
Возвращает выведенные параметры из поиска $type.
Примеры:
Следующий код вызовет поиск 'translations' со значением поиска в качестве его параметров: $query->contain(['Comments' => ['finder' => ['translations']]]); $query->contain(['Comments' => ['finder' => ['translations' => []]]]); $query->contain(['Comments' => ['finder' => ['translations' => ['locales' => ['en_US']]]]]);
Параметры
-
array|string$finderData Имя поиска или массив, содержащий имя в качестве ключа и параметры в качестве значения.
Возвращает
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): arrayCake\Database\Expression\IdentifierExpression>
Возвращает одно или несколько условий, которые должны быть добавлены к генерируемому предложению join для получения результатов в целевой таблице.
Параметры
-
array<string, mixed>$options список параметров, переданных методу attachTo
Возвращает
arrayCake\Database\Expression\IdentifierExpression>Исключения
RuntimeExceptionесли количество столбцов в foreignKey не совпадает с количеством столбцов в первичном ключе целевой таблицы
_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() public
cascadeDelete(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): bool
Обработка каскадных удалений.
Ассоциации BelongsTo никогда не очищаются в сценарии каскадного удаления.
Параметры
-
Cake\Datasource\EntityInterface$entity Сущность, которая инициировала каскадное удаление.
-
array<string, mixed>$options optional Параметры исходного удаления.
Возвращает
booldefaultRowValue() public
defaultRowValue(array<string, mixed> $row, bool $joined): array<string, mixed>
Возвращает изменённую строку после добавления свойства для этой ассоциации со значением по умолчанию в зависимости от того, была ли ассоциация присоединена или получена внешне.
Параметры
-
array<string, mixed>$row Строка, для которой нужно установить значение по умолчанию.
-
bool$joined Является ли строка результатом прямого соединения с этой ассоциацией
Возвращает
array<string, mixed>deleteAll() public
deleteAll(Cake\Database\ExpressionInterfaceClosure|array|string|null $conditions): int
Делегирует операцию удаления методу deleteAll целевой таблицы
Параметры
-
Cake\Database\ExpressionInterfaceClosure|array|string|null$conditions Условие, принимает всё, что может принять Query::where().
Возвращает
intСм. также
eagerLoader() public
eagerLoader(array<string, mixed> $options): Closure
Загружает список записей в целевой таблице, связанных с набором записей в исходной таблице. Источник записей может быть задан двумя способами: во-первых, путём передачи объекта Query, настроенного для поиска в исходной таблице; во-вторых, явно передавая массив значений первичных ключей из исходной таблицы.
Требуемый способ передачи связанных записей источника контролируется «стратегией». При использовании стратегии подзапроса потребуется запрос к исходной таблице. При использовании стратегии select будет использоваться список первичных ключей.
Возвращает замыкание, которое должно выполняться для каждой записи, возвращаемой в конкретном Query. Эта вызываемая функция будет отвечать за вставку полей, связанных с каждой конкретной переданной строкой.
Массив параметров принимает следующие ключи:
- query: Объект Query, настроенный для поиска записей исходной таблицы
- keys: Список значений первичных ключей из исходной таблицы
- foreignKey: Имя поля, используемого для связывания обеих таблиц
- conditions: Список условий, передаваемых методу query 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
Вспомогательный метод для получения экземпляра таблицы.
Parameters
-
string|null$alias optional Имя псевдонима, которое вы хотите получить. Должно быть в формате CamelCase. Если
null, то используется значение свойства $defaultTable.-
array<string, mixed>$options optional Параметры, с которыми вы хотите создать таблицу. Если таблица уже загружена, параметры реестра будут игнорироваться.
Returns
Cake\ORM\TableThrows
Cake\Core\Exception\CakeExceptionЕсли аргумент `$alias` и свойство `$defaultTable` оба равны `null`.
See Also
find() public
find(array<string, mixed>|string|null $type = null, array<string, mixed> $options = []): Cake\ORM\Query
Передает операцию поиска методу find целевой таблицы и изменяет запрос в соответствии с конфигурацией этой ассоциации.
Parameters
-
array<string, mixed>|string|null$type optional тип запроса для выполнения, если передан массив, он будет интерпретироваться как параметр
$options-
array<string, mixed>$options optional Параметры для поиска
Returns
Cake\ORM\QuerySee Also
getBindingKey() public
getBindingKey(): array<string>|string
Возвращает имя поля, представляющего поле связывания с целевой таблицей. Если не указано вручную, используется первичный ключ таблицы владельца.
Returns
array<string>|stringgetCascadeCallbacks() public
getCascadeCallbacks(): bool
Возвращает, следует ли запускать обратные вызовы при каскадном удалении.
Returns
boolgetClassName() public
getClassName(): string
Возвращает имя класса объекта целевой таблицы.
Returns
stringgetConditions() public
getConditions(): Closure|array
Возвращает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
Returns
Closure|arraySee Also
getDependent() public
getDependent(): bool
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
Это в основном используется для указания того, что записи должны быть удалены, если запись владельца в исходной таблице удалена.
Returns
boolgetFinder() public
getFinder(): array|string
Возвращает finder по умолчанию для извлечения строк из целевой таблицы.
Returns
array|stringgetForeignKey() public
getForeignKey(): array<string>|string
Возвращает имя поля, представляющего внешний ключ к целевой таблице.
Returns
array<string>|stringgetJoinType() public
getJoinType(): string
Возвращает тип соединения, которое будет использоваться при добавлении ассоциации к запросу.
Returns
stringgetName() public
getName(): string
Возвращает имя для этой ассоциации, обычно псевдоним, присвоенный целевой связанной таблице.
Returns
stringgetProperty() public
getProperty(): string
Возвращает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
Returns
stringgetSource() public
getSource(): Cake\ORM\Table
Возвращает экземпляр таблицы для исходной стороны ассоциации.
Returns
Cake\ORM\TablegetStrategy() public
getStrategy(): string
Возвращает имя стратегии, которая будет использоваться для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, а только стратегию по умолчанию, что делает любые изменения этого параметра недействительными.
Returns
stringgetTableLocator() public
getTableLocator(): Cake\ORM\Locator\LocatorInterface
Возвращает локатор таблиц.
Returns
Cake\ORM\Locator\LocatorInterfacegetTarget() public
getTarget(): Cake\ORM\Table
Возвращает экземпляр таблицы для целевой стороны ассоциации.
Returns
Cake\ORM\TableisOwningSide() public
isOwningSide(Cake\ORM\Table $side): bool
Возвращает, является ли переданная таблица владеющей стороной для этой ассоциации. Это означает, что строки в таблице «цель» будут пропускать важную или необходимую информацию, если строка в «источнике» не существует.
Parameters
-
Cake\ORM\Table$side Потенциальная таблица с владением
Returns
boolrequiresKeys() public
requiresKeys(array<string, mixed> $options = []): bool
Возвращает true, если процесс нетерпеливой загрузки потребует набор ключей связывания владеющей таблицы, чтобы использовать их в качестве фильтра в запросе find.
Parameters
-
array<string, mixed>$options optional Параметры, содержащие стратегию, которая будет использоваться.
Returns
boolsaveAssociated() public
saveAssociated(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): Cake\Datasource\EntityInterface|false
Берет сущность из исходной таблицы и проверяет, есть ли поле, соответствующее имени свойства для этой ассоциации. Найденная сущность будет сохранена в целевой таблице для этой ассоциации путем передачи предоставленных $options
Parameters
-
Cake\Datasource\EntityInterface$entity сущность из исходной таблицы
-
array<string, mixed>$options optional параметры, которые будут переданы методу save в целевой таблице
Returns
Cake\Datasource\EntityInterface|falseSee Also
setBindingKey() public
setBindingKey(array<string>|string $key): $this
Устанавливает имя поля, представляющего поле связывания с целевой таблицей. Если не указано вручную, используется первичный ключ таблицы владельца.
Parameters
-
array<string>|string$key поле или поля таблицы, которые будут использоваться для связи обеих таблиц.
Returns
$thissetCascadeCallbacks() public
setCascadeCallbacks(bool $cascadeCallbacks): $this
Устанавливает, следует ли запускать обратные вызовы при каскадном удалении.
Parameters
-
bool$cascadeCallbacks значение переключателя обратных вызовов каскада
Returns
$thissetClassName() public
setClassName(string $className): $this
Устанавливает имя класса объекта целевой таблицы.
Parameters
-
string$className Имя класса для установки.
Returns
$thisThrows
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 Является ли строка результатом прямого объединения с этим объединением
-
string|null$targetProperty optional Имя свойства в исходных результатах, где данные объединения должны быть вложены. Будет использоваться значение по умолчанию, если не указано.
Возвращаемое значение
arraytype() 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
Имя поля в таблице со стороны владельца, используемого для сопоставления с foreignKey
Тип
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.4/class-Cake.ORM.Association.BelongsTo.html