Класс HasOne
Представляет отношение 1 - 1, где сторона источника связана только с одной записью в целевой таблице и наоборот.
Пример ассоциации HasOne: Пользователь имеет один Профиль.
Константы
-
stringМНОГОВАРИАНТНЫЙ_К_МНОГОВАРИАНТНОМУ'manyToMany'
Тип ассоциации для многих ко многим ассоциаций.
-
stringМНОГИЕ_К_ОДНОМУ'manyToOne'
Тип ассоциации для многих к одному ассоциаций.
-
stringОДИН_К_МНОГИМ'oneToMany'
Тип ассоциации для одного к многим ассоциаций.
-
stringОДИН_К_ОДНОМУ'oneToOne'
Тип ассоциации для одного к одному ассоциаций.
-
stringСТРАТЕГИЯ_СОЕДИНЕНИЕ'join'
Имя стратегии для использования соединений для извлечения связанных записей
-
stringСТРАТЕГИЯ_ВЫБОР'select'
Имя стратегии для использования оператора выборки для извлечения связанных записей
-
stringСТРАТЕГИЯ_ПОДЗАПРОС'subquery'
Имя стратегии для использования подзапроса для извлечения связанных записей
Краткое описание свойств
- $_bindingKey protected
string|string[]|nullИмя поля в таблице-владельце, используемое для сопоставления с foreignKey
- $_cascadeCallbacks protected
boolВключать ли вызов обратных функций при каскадном удалении?
- $_className protected
stringИмя класса объекта целевой таблицы
- $_conditions protected
arrayClosureСписок условий, которые всегда должны включаться при извлечении записей из целевой ассоциации
- $_dependent protected
boolЗависит ли запись в целевой таблице от записи в исходной таблице, часто используется для указания того, что запись должна быть удалена, если запись-владелец в исходной таблице удаляется.
- $_finder protected
string|arrayИмя настроенного нахождения, используемого для извлечения строк из целевой таблицы. При массиве значения, имя нахождения и значения по умолчанию.
- $_foreignKey protected
string|string[]Имя поля, представляющего внешний ключ для таблицы для загрузки
- $_joinType protected
stringТип соединения, используемого при добавлении ассоциации в запрос
- $_name protected
stringИмя ассоциации, обычно представляет алиас, присвоенный целевой связанной таблице
- $_propertyName protected
stringИмя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
- $_sourceTable protected
Cake\ORM\TableЭкземпляр исходной таблицы
- $_strategy protected
stringИмя стратегии, которое будет использоваться для извлечения связанных записей. Некоторые типы ассоциаций могут не реализовывать, но одну стратегию для извлечения записей.
- $_tableLocator protected
Cake\ORM\Locator\LocatorInterface|nullЭкземпляр локатора таблиц
- $_targetTable protected
Cake\ORM\TableЭкземпляр целевой таблицы
- $_validStrategies protected
string[]Допустимые стратегии для этого типа ассоциации
Краткое описание методов
-
__call() public
Делегирует вызовы методов целевой таблице.
-
__construct() public
Конструктор. Подклассы могут переопределить функцию _options, чтобы получить исходный список переданных параметров, если ожидается какой-либо другой специальный ключ.
-
__get() public
Делегирует получение свойств целевой таблице. Это удобно для получения ассоциаций этой ассоциации.
-
__isset() public
Делегирует вызов isset целевой таблице. Это удобно для проверки наличия другой ассоциации целевой таблицы с переданным именем.
-
_appendFields() protected
Вспомогательная функция, используемая для условного добавления полей к выборке запроса из полей, найденных в другом объекте запроса.
-
_appendNotMatching() protected
Условно добавляет условие к переданному запросу, которое будет искать записи, где нет совпадения с этой ассоциацией.
-
_bindNewAssociations() protected
Применяет все прикрепляемые ассоциации к
$queryиз контейнеров, найденных в запросе$surrogate. -
_camelize() protected
Создаёт 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
Изменяет объект Query, чтобы включить данные связанной целевой таблицы в конечный результат.
-
canBeJoined() public
Возвращает, может ли эта ассоциация быть выражена напрямую в соединении запроса.
-
cascadeDelete() public
Обрабатывает каскадное удаление из связанной модели.
-
defaultRowValue() public
Возвращает изменённую строку после добавления свойства для этой ассоциации со значением по умолчанию в зависимости от того, была ли ассоциация присоединена или загружена внешним образом.
-
deleteAll() public
Делегирует операцию удаления методу deleteAll целевой таблицы.
-
eagerLoader() public
Загружает жадно список записей в целевой таблице, связанных с другим набором записей в исходной таблице. Записи источника могут быть указаны двумя способами: во-первых, путём передачи объекта Query, настроенного для поиска в исходной таблице, а во-вторых, путём явного указания массива значений первичного ключа из исходной таблицы.
-
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
Вспомогательный метод для вывода запрошенного findera и его опций.
Возвращает выведенные опции из findera $type.
Примеры:
Следующий код вызовет finder 'translations' со значением findera в качестве его опций: $query->contain(['Comments' => ['finder' => ['translations']]]); $query->contain(['Comments' => ['finder' => ['translations' => []]]]); $query->contain(['Comments' => ['finder' => ['translations' => ['locales' => ['en_US']]]]]);
Параметры
-
string|array$finderData Имя findera или массив, имеющий имя в качестве ключа и опции в качестве значения.
Возвращает
array_fixtureName() protected
_fixtureName(string $name): string
Создает имя фикстуры
Параметры
-
string$name Имя класса модели
Возвращает
string_formatAssociationResults() protected
_formatAssociationResults(Cake\ORM\Query $query, Cake\ORM\Query $surrogate, array $options): void
Добавляет функцию форматирования к переданному $query, если запрос $surrogate объявляет какой-либо другой форматтер. Поскольку запрос $surrogate соответствует связанной целевой таблице, результирующий форматтер будет результатом применения суррогатных форматтеров только к свойству, соответствующему этой таблице.
Параметры
-
Cake\ORM\Query$query запрос, к которому будет применена функция форматирования
-
Cake\ORM\Query$surrogate запрос, содержащий форматтеры для связанной целевой таблицы.
-
array$options опции, переданные в метод
attachTo
Возвращает
void_joinCondition() protected
_joinCondition(array $options): array
Возвращает одно или несколько условий, которые должны быть добавлены к генерируемому предложению join для получения результатов в целевой таблице.
Параметры
-
array$options список опций, переданных в метод attachTo
Возвращает
arrayИсключения
RuntimeExceptionесли количество столбцов в foreignKey не совпадает с количеством столбцов в первичном ключе исходной таблицы
_modelKey() protected
_modelKey(string $name): string
Создает правильный подчеркнутый ключ модели для ассоциаций
Если входные данные содержат точку, предполагается, что правая часть является реальным именем таблицы.
Параметры
-
string$name Имя класса модели
Возвращает
string_modelNameFromKey() protected
_modelNameFromKey(string $key): string
Создает правильное имя модели из внешнего ключа
Параметры
-
string$key Внешний ключ
Возвращает
string_options() protected
_options(array $options): void
Переопределите эту функцию для инициализации любого конкретного класса ассоциации; она получит исходный список параметров, используемых в конструкторе.
Параметры
-
array$options Список параметров, используемых для инициализации.
Возвращает
void_pluginNamespace() protected
_pluginNamespace(string $pluginName): string
Возвращает пространство имен плагина.
Параметры
-
string$pluginName Имя плагина.
Возвращает
string_pluginPath() protected
_pluginPath(string $pluginName): string
Находит правильный путь для плагина. Просматривает $pluginPaths для нужного плагина.
Параметры
-
string$pluginName Имя плагина (например, DebugKit).
Возвращает
string_pluralHumanName() protected
_pluralHumanName(string $name): string
Создаёт множественное число человекочитаемого имени, используемого в представлениях.
Параметры
-
string$name Имя контроллера.
Возвращает
string_propertyName() protected
_propertyName(): string
Возвращает имя свойства по умолчанию, основанное на имени ассоциации.
Возвращает
string_singularHumanName() protected
_singularHumanName(string $name): string
Создаёт единственное число человекочитаемого имени, используемого в представлениях.
Параметры
-
string$name Имя контроллера.
Возвращает
string_singularName() protected
_singularName(string $name): string
Создаёт единственное число имени для использования в представлениях.
Параметры
-
string$name Используемое имя.
Возвращает
string_variableName() protected
_variableName(string $name): string
Создаёт множественное число имени переменной для представлений.
Параметры
-
string$name Используемое имя.
Возвращает
stringattachTo() public
attachTo(Cake\ORM\Query $query, array $options = []): void
Изменяет объект запроса, чтобы включить данные связанной целевой таблицы в конечный результат.
Массив параметров может содержать следующие ключи:
- 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
Обрабатывает каскадное удаление из связанной модели.
Каждый реализуемый класс должен обрабатывать каскадное удаление по мере необходимости.
Параметры
-
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: Список связанных таблиц, которые нужно загрузить в режиме eager.
- 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.HasOne.html