Класс BelongsTo
Представляет отношение 1 - N, где сторона источника отношения связана только с одной записью в целевой таблице.
Пример ассоциации BelongsTo: Статья принадлежит Автору.
Константы
-
stringМНОГО_КО_МНОГИМ'manyToMany'
Тип ассоциации для ассоциаций многие ко многим.
-
stringМНОГО_КО_ОДНОМУ'manyToOne'
Тип ассоциации для ассоциаций многие ко одному.
-
stringОДИН_КО_МНОГИМ'oneToMany'
Тип ассоциации для ассоциаций один ко многим.
-
stringОДИН_КО_ОДНОМУ'oneToOne'
Тип ассоциации для ассоциаций один ко одному.
-
stringСТРАТЕГИЯ_СОЕДИНЕНИЕ'join'
Имя стратегии для использования соединений для извлечения связанных записей
-
stringСТРАТЕГИЯ_ВЫБОР'select'
Имя стратегии для использования запроса select для извлечения связанных записей
-
stringСТРАТЕГИЯ_ВЛОЖЕННЫЙ_ЗАПРОС'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
Вспомогательная функция, используемая для условного добавления полей к фрагменту SELECT запроса из полей, найденных в другом объекте запроса.
_appendNotMatching()protected
Условно добавляет условие к переданному запросу, которое заставит его находить записи, где нет совпадения с этой ассоциацией.
_bindNewAssociations()protected
Применяет все присоединяемые ассоциации к
$queryиз контейнеров, найденных в запросе$surrogate._camelize()protected
Создает camelized версию $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 после добавления условий по умолчанию для этой ассоциации.
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
Устанавливает имя для этой ассоциации, обычно псевдоним, назначенный целевой связанной таблице.
-
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 $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): Cake\Database\Expression\IdentifierExpression[]
Возвращает одно или несколько условий, которые должны быть добавлены к генерируемому предложению join для получения результатов в целевой таблице.
Параметры
-
array$options список параметров, переданных в метод attachTo
Возвращает
Cake\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 $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
Изменяет объект запроса, чтобы включить данные связанной целевой таблицы в окончательный результат.
Массив параметров может содержать следующие ключи:
- 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() public
cascadeDelete(Cake\Datasource\EntityInterface $entity, array $options = []): bool
Обработка каскадных удалений.
Ассоциации BelongsTo никогда не очищаются в сценарии каскадного удаления.
Параметры
-
Cake\Datasource\EntityInterface$entity Сущность, которая инициировала каскадное удаление.
-
array$options optional Параметры исходного удаления.
Возвращает
booldefaultRowValue() public
defaultRowValue(array $row, bool $joined): array
Возвращает изменённую строку после добавления свойства для этой ассоциации с пустым значением по умолчанию в соответствии с тем, была ли ассоциация объединена или получена извне.
Параметры
-
array$row Строка, для которой нужно установить значение по умолчанию.
-
bool$joined Является ли строка результатом прямого объединения с этой ассоциацией?
Возвращает
arraydeleteAll() public
deleteAll(mixed $conditions): int
Делегирует операцию удаления методу deleteAll целевой таблицы.
Параметры
-
mixed$conditions Условие. Принимает любой аргумент, который может принять Query::where().
Возвращает
intСм. также
eagerLoader() public
eagerLoader(array $options): Closure
Загружает список записей в целевой таблице, связанных с набором записей в исходной таблице. Исходные записи могут быть заданы двумя способами: первый — путём передачи объекта запроса, настроенного для поиска в исходной таблице, а второй — путём явного передачи массива значений первичных ключей из исходной таблицы.
Требуемый способ передачи связанных исходных записей контролируется «стратегией». При использовании стратегии подзапросов требуется запрос на исходную таблицу. При использовании стратегии выбора используется список первичных ключей.
Возвращает лямбда-функцию, которая должна быть выполнена для каждой строки, возвращённой в определённом запросе. Эта лямбда-функция будет отвечать за внедрение полей, связанных с каждой конкретной переданной строкой.
Массив параметров принимает следующие ключи:
- query: Объект запроса, настроенный для поиска записей исходной таблицы.
- keys: Список значений первичных ключей из исходной таблицы.
- foreignKey: Имя поля, используемого для связывания обеих таблиц.
- conditions: Список условий, которые нужно передать методу where() запроса.
- sort: Направление, в котором должны возвращаться записи.
- fields: Список полей для выбора из целевой таблицы.
- contain: Список связанных таблиц для загрузки ассоциаций, связанных с целевой таблицей.
- strategy: Имя стратегии, используемой для поиска записей целевой таблицы.
- nestKey: Ключ массива, в котором будут находиться результаты при преобразовании строки.
Параметры
-
array$options
Возвращает
Closureexists() public
exists(arrayClosureCake\Database\ExpressionInterface $conditions): bool
Делегирует операцию целевой таблице exists после добавления условий по умолчанию для этой ассоциации.
Параметры
-
arrayClosureCake\Database\ExpressionInterface$conditions Условия для проверки наличия совпадающей записи.
Возвращает
boolСм. также
find() public
find(string|array|null $type = null, array $options = []): Cake\ORM\Query
Делегирует операцию поиска методу find целевой таблицы и соответственно изменяет запрос на основе этой конфигурации ассоциации.
Параметры
-
string|array|null$type необязательно тип запроса, если передаётся массив, он интерпретируется как
$optionsпараметр-
array$options необязательно Параметры для поиска
Возвращает
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() public
isOwningSide(Cake\ORM\Table $side): bool
Возвращает, является ли переданная таблица стороной-владельцем для этой ассоциации. Это означает, что строки в таблице "target" будут лишены важной или необходимой информации, если строка в "source" не существует.
Параметры
-
Cake\ORM\Table$side Возможная таблица с владением
Возвращает
boolrequiresKeys() public
requiresKeys(array $options = []): bool
Возвращает true, если процесс жадного загрузки потребует набора связывающих ключей таблицы-владельца для их использования в качестве фильтра в запросе поиска.
Параметры
-
array$options необязательно Параметры, содержащие используемую стратегию.
Возвращает
boolsaveAssociated() public
saveAssociated(Cake\Datasource\EntityInterface $entity, array $options = []): Cake\Datasource\EntityInterface|false
Принимает сущность из исходной таблицы и проверяет, есть ли поле, соответствующее имени свойства для этой ассоциации. Найденная сущность будет сохранена в целевой таблице для этой ассоциации, передав предоставленные $options.
Параметры
-
Cake\Datasource\EntityInterface$entity сущность из исходной таблицы
-
array$options необязательно параметры, которые будут переданы методу сохранения в целевой таблице
Возвращает
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() public
type(): string
Получить тип отношения.
Возвращает
stringupdateAll() public
updateAll(array $fields, mixed $conditions): int
Делегирует операцию обновления методу updateAll целевой таблицы.
Параметры
-
array$fields Хэш поле => новое значение.
-
mixed$conditions Условия, принимающие все, что может принять Query::where().
Возвращает
intСм. также
Подробное описание свойства
$_bindingKey защищенное
Имя поля в таблице стороны владельца, используемое для сопоставления с foreignKey
Тип
string|string[]|null$_cascadeCallbacks защищенное
Указывает, следует ли также вызывать обратные вызовы при каскадном удалении.
Тип
bool$_className защищенное
Имя класса объекта целевой таблицы
Тип
string$_conditions защищенное
Список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации
Тип
arrayClosure$_dependent защищенное
Указывается ли зависимость записей в целевой таблице от исходной таблицы; часто используется для указания того, что записи должны быть удалены, если запись-владелец в исходной таблице удаляется.
Тип
bool$_finder защищенное
Имя используемого по умолчанию нахождения для извлечения строк из целевой таблицы. Допускается массив со значением имени нахождения и опциями по умолчанию.
Тип
string|array$_foreignKey защищенное
Имя поля, представляющего внешний ключ к загружаемой таблице
Тип
string|string[]$_joinType защищенное
Тип соединения, используемого при добавлении ассоциации в запрос
Тип
string$_name защищенное
Имя ассоциации, обычно представляющее псевдоним, назначенный целевой связанной таблице
Тип
string$_propertyName защищенное
Имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
Тип
string$_sourceTable защищенное
Экземпляр исходной таблицы
Тип
Cake\ORM\Table$_strategy защищенное
Имя стратегии, используемой для извлечения связанных записей. Некоторые типы ассоциаций могут не реализовывать, но одну стратегию для извлечения записей.
Тип
string$_tableLocator защищенное
Экземпляр локатора таблиц
Тип
Cake\ORM\Locator\LocatorInterface|null$_targetTable защищенное
Экземпляр целевой таблицы
Тип
Cake\ORM\Table$_validStrategies защищенное
Действительные стратегии для этого типа ассоциации
Тип
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.BelongsTo.html