Класс HasOne
Представляет отношение 1 - 1, где сторона источника связана только с одной записью в целевой таблице, и наоборот.
Пример ассоциации HasOne - пользователь имеет один профиль.
Константы
-
stringМНОГОВЕРШНИК_КОМНОГОВЕРШНИК'manyToMany'
Тип ассоциации для ассоциаций многие ко многим.
-
stringМНОГИЕ_К_ОДНОМУ'manyToOne'
Тип ассоциации для ассоциаций многие ко одному.
-
stringОДИН_КО_МНОГИМ'oneToMany'
Тип ассоциации для ассоциаций один ко многим.
-
stringОДИН_К_ОДНОМУ'oneToOne'
Тип ассоциации для ассоциаций один к одному.
-
stringСТРАТЕГИЯ_СОЕДИНЕНИЕ'join'
Имя стратегии для использования соединений для извлечения связанных записей
-
stringСТРАТЕГИЯ_ВЫБОР'select'
Имя стратегии для использования выбора для извлечения связанных записей
-
stringСТРАТЕГИЯ_СУБЗАПРОС'subquery'
Имя стратегии для использования подзапроса для извлечения связанных записей
Резюме свойств
- $_bindingKey protected
array<string>|string|nullИмя поля в таблице владельца, которое используется для сопоставления с внешним ключом
- $_cascadeCallbacks protected
boolНеобходимо ли также запускать обратные вызовы при каскадных удалениях.
- $_className protected
stringИмя класса объекта целевой таблицы
- $_conditions protected
Closure|arrayСписок условий, которые всегда должны включаться при извлечении записей из целевой ассоциации
- $_dependent protected
boolЗависят ли записи в целевой таблице от исходной таблицы, часто используется для указания того, что записи должны быть удалены, если запись владельца в исходной таблице удаляется.
- $_finder protected
array|stringИмя по умолчанию поиска для извлечения строк из целевой таблицы. С массивом разрешено имя поиска и параметры по умолчанию.
- $_foreignKey protected
array<string>|stringИмя поля, представляющего внешний ключ к таблице для загрузки
- $_joinType protected
stringТип соединения, который будет использоваться при добавлении ассоциации в запрос
- $_name protected
stringИмя, данное ассоциации, обычно представляет собой псевдоним, назначенный целевой связанной таблице
- $_propertyName protected
stringИмя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
- $_sourceTable protected
Cake\ORM\TableЭкземпляр исходной таблицы
- $_strategy protected
stringИмя стратегии, которое будет использоваться для извлечения связанных записей. Некоторые типы ассоциаций могут не реализовывать, но одну стратегию для извлечения записей.
- $_tableLocator protected
Cake\ORM\Locator\LocatorInterface|nullЭкземпляр локатора таблиц
- $_targetTable protected
Cake\ORM\TableЭкземпляр целевой таблицы
- $_validStrategies protected
array<string>Допустимые стратегии для этого типа ассоциации
- $defaultTable protected
string|nullПсевдоним таблицы по умолчанию для этого объекта.
Краткое описание методов
-
__call() public
Делегирует вызовы методов целевой таблице.
-
__construct() public
Конструктор. Подклассы могут переопределить функцию _options, чтобы получить исходный список переданных опций, если ожидаются какие-либо другие специальные ключи.
-
__get() public
Делегирует получение свойств целевой таблице. Это удобно для получения ассоциаций данной ассоциации.
-
__isset() public
Делегирует вызов isset целевой таблице. Это удобно для проверки наличия другой ассоциации целевой таблицы с указанным именем.
-
_appendFields() protected
Вспомогательная функция, используемая для условного добавления полей к предложению select запроса из полей, найденных в другом объекте запроса.
-
_appendNotMatching() protected
Условно добавляет условие к переданному запросу, которое будет искать записи, где нет совпадения с данной ассоциацией.
-
_bindNewAssociations() protected
Применяет все присоединяемые ассоциации к
$queryиз контейнеров, найденных в запросе$surrogate. -
_camelize() protected
Создает версию $name с использованием написания camelCase.
-
_dispatchBeforeFind() protected
Вызывает beforeFind для целевой таблицы для запроса, к которому присоединяется данная ассоциация.
-
_entityName() protected
Создает правильное имя сущности (единственное число) для указанного имени.
-
_extractFinder() protected
Вспомогательный метод для вывода запрошенного нахождения и его опций.
-
_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): array
Возвращает одно или несколько условий, которые должны быть добавлены к сгенерированному предложению join для получения результатов в целевой таблице.
Параметры
-
array<string, mixed>$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<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
Обрабатывает каскадное удаление из связанной модели.
Каждый реализующий класс должен обрабатывать каскадное удаление по мере необходимости.
Параметры
-
Cake\Datasource\EntityInterface$entity -
array<string, mixed>$options optional
Возвращает
booldefaultRowValue() public
defaultRowValue(array $row, bool $joined): array
Возвращает изменённую строку после добавления свойства для этой ассоциации со значением по умолчанию в соответствии с тем, была ли ассоциация присоединена или получена извне.
Параметры
-
array$row Строка, для которой нужно установить значение по умолчанию.
-
bool$joined Является ли строка результатом прямого соединения с этой ассоциацией?
Возвращает
arraydeleteAll() public
deleteAll(Cake\Database\ExpressionInterfaceClosure|array|string|null $conditions): int
Делегирует операцию удаления методу deleteAll целевой таблицы.
Параметры
-
Cake\Database\ExpressionInterfaceClosure|array|string|null$conditions Условия, которые должны использоваться. Принимает всё, что может принять Query::where().
Возвращает
intСм. также
eagerLoader() public
eagerLoader(array<string, mixed> $options): Closure
Загружает жадно список записей в целевой таблице, которые связаны с другим набором записей в исходной таблице. Источник записей может быть указан двумя способами: во-первых, путём передачи объекта Query, настроенного для поиска в исходной таблице, и во-вторых, явным указанием массива значений первичных ключей из исходной таблицы.
Необходимый способ передачи связанных записей источника контролируется "стратегией". При использовании стратегии подзапроса требуется запрос на исходную таблицу. При использовании стратегии выбора используется список первичных ключей.
Возвращает замыкание, которое должно быть запущено для каждой строки, возвращённой в определённом запросе. Эта вызываемая функция будет отвечать за ввод полей, связанных с каждой конкретной переданной строкой.
Массив опций принимает следующие ключи:
- query: Объект Query, настроенный для поиска записей исходной таблицы.
- keys: Список значений первичных ключей из исходной таблицы.
- foreignKey: Имя поля, используемого для связи обеих таблиц.
- conditions: Список условий, которые необходимо передать методу where() запроса.
- sort: Направление, в котором должны быть возвращены записи.
- fields: Список полей для выбора из целевой таблицы.
- contain: Список связанных таблиц, которые нужно жадно загрузить, связанных с целевой таблицей.
- strategy: Имя стратегии, которую следует использовать для поиска записей целевой таблицы.
- nestKey: Ключ массива, под которым будут найдены результаты при преобразовании строки.
Параметры
-
array<string, mixed>$options
Возвращает
Closureexists() public
exists(Cake\Database\ExpressionInterfaceClosure|array|string|null $conditions): bool
Делегирует операцию целевой таблице'exists' после добавления по умолчанию условий для данной ассоциации.
Параметры
-
Cake\Database\ExpressionInterfaceClosure|array|string|null$conditions Условие, используемое для проверки соответствия записям.
Возвращает
boolСм. также
fetchTable() public
fetchTable(string|null $alias = null, array<string, mixed> $options = []): Cake\ORM\Table
Метод для получения экземпляра таблицы.
Параметры
-
string|null$alias необязательный Имя псевдонима, которое вы хотите получить. Должно быть в формате CamelCase. Если
null, то используется значение свойства $defaultTable.-
array<string, mixed>$options необязательный Опции для построения таблицы. Если таблица уже загружена, опции реестра будут проигнорированы.
Возвращает
Cake\ORM\TableИсключения
Cake\Core\Exception\CakeExceptionЕсли аргумент `$alias` и свойство `$defaultTable` оба равны `null`.
См. также
find() public
find(array<string, mixed>|string|null $type = null, array<string, mixed> $options = []): Cake\ORM\Query
Делегирует операцию поиска методу find целевой таблицы и соответственно изменяет запрос на основе настроек этой ассоциации.
Параметры
-
array<string, mixed>|string|null$type необязательный Тип запроса для выполнения. Если передано массив, он будет интерпретирован как параметр
$options.-
array<string, mixed>$options необязательный Опции для поиска.
Возвращает
Cake\ORM\QueryСм. также
getBindingKey() public
getBindingKey(): array<string>|string
Возвращает имя поля, представляющего поле привязки к целевой таблице. Если не указано вручную, используется первичный ключ таблицы-владельца.
Возвращает
array<string>|stringgetCascadeCallbacks() public
getCascadeCallbacks(): bool
Возвращает, должны ли также срабатывать колбэки при каскадных удалениях.
Возвращает
boolgetClassName() public
getClassName(): string
Возвращает имя класса объекта целевой таблицы.
Возвращает
stringgetConditions() public
getConditions(): Closure|array
Возвращает список условий, которые всегда должны включаться при получении записей из целевой ассоциации.
Возвращает
Closure|arrayСм. также
getDependent() public
getDependent(): bool
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
Это в первую очередь используется для указания того, что записи должны быть удалены, если запись-владелец в исходной таблице будет удалена.
Возвращает
boolgetFinder() public
getFinder(): array|string
Возвращает метод поиска по умолчанию для извлечения строк из целевой таблицы.
Возвращает
array|stringgetForeignKey() public
getForeignKey(): array<string>|string
Возвращает имя поля, представляющего внешний ключ к целевой таблице.
Возвращает
array<string>|stringgetJoinType() public
getJoinType(): string
Возвращает тип соединения, который будет использоваться при добавлении ассоциации в запрос.
Возвращает
stringgetName() public
getName(): string
Возвращает имя этой ассоциации, обычно псевдоним, назначенный целевой связанной таблице.
Возвращает
stringgetProperty() public
getProperty(): string
Возвращает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
Возвращает
stringgetSource() public
getSource(): Cake\ORM\Table
Возвращает экземпляр таблицы для стороны источника ассоциации.
Возвращает
Cake\ORM\TablegetStrategy() public
getStrategy(): string
Возвращает имя стратегии, используемой для получения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовать, но по умолчанию стратегия, что делает любые изменения в этом параметре недействительными.
Возвращает
stringgetTableLocator() public
getTableLocator(): Cake\ORM\Locator\LocatorInterface
Возвращает локатор таблиц.
Возвращает
Cake\ORM\Locator\LocatorInterfacegetTarget() public
getTarget(): Cake\ORM\Table
Возвращает экземпляр таблицы для целевой стороны ассоциации.
Возвращает
Cake\ORM\TableisOwningSide() public
isOwningSide(Cake\ORM\Table $side): bool
Возвращает, является ли переданная таблица стороной-владельцем для этой ассоциации. Это означает, что строки в таблице «target» могут потерять важную или необходимую информацию, если строка в таблице «source» не существует.
Параметры
-
Cake\ORM\Table$side Возможная таблица с владением
Возвращает
boolrequiresKeys() public
requiresKeys(array<string, mixed> $options = []): bool
Возвращает true, если процесс жадного загрузки потребует набора идентификаторов таблицы-владельца для использования их в качестве фильтра в запросе find.
Параметры
-
array<string, mixed>$options необязательный Опции, содержащие стратегию, которая будет использоваться.
Возвращает
boolsaveAssociated() public
saveAssociated(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): Cake\Datasource\EntityInterface|false
Принимает сущность из исходной таблицы и проверяет, есть ли поле, соответствующее имени свойства для этой ассоциации. Найденная сущность будет сохранена в целевой таблице для этой ассоциации, передав предоставленные $options
Параметры
-
Cake\Datasource\EntityInterface$entity сущность из исходной таблицы
-
array<string, mixed>$options необязательный опции, которые будут переданы методу сохранения в целевой таблице
Возвращает
Cake\Datasource\EntityInterface|falseСм. также
setBindingKey() public
setBindingKey(array<string>|string $key): $this
Устанавливает имя поля, представляющего поле привязки к целевой таблице. Если не указано вручную, используется первичный ключ таблицы-владельца.
Параметры
-
array<string>|string$key поле или поля таблицы, которые будут использоваться для связи обеих таблиц
Возвращает
$thissetCascadeCallbacks() public
setCascadeCallbacks(bool $cascadeCallbacks): $this
Устанавливает, должны ли также срабатывать колбэки при каскадных удалениях.
Параметры
-
bool$cascadeCallbacks значение переключателя колбэков каскадного удаления
Возвращает
$thissetClassName() public
setClassName(string $className): $this
Устанавливает имя класса объекта целевой таблицы.
Параметры
-
string$className Имя класса для установки.
Возвращает
$thisИсключения
InvalidArgumentExceptionЕсли имя класса устанавливается после того, как целевая таблица была разрешена, и оно не совпадает с именем класса целевой таблицы.
setConditions() public
setConditions(Closure|array $conditions): $this
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевого объединения.
Параметры
-
Closure|array$conditions список условий, которые будут использоваться
Возвращаемое значение
$thisСм. также
setDependent() public
setDependent(bool $dependent): $this
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
Это в основном используется для указания того, что записи должны быть удалены, если владеющая запись в исходной таблице удаляется.
Если параметры не передаются, возвращается текущее значение.
Параметры
-
bool$dependent Установите режим зависимости. Используйте null, чтобы прочитать текущее состояние.
Возвращаемое значение
$thissetFinder() public
setFinder(array|string $finder): $this
Устанавливает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
Параметры
-
array|string$finder имя нахождения или массив имени нахождения и опции.
Возвращаемое значение
$thissetForeignKey() public
setForeignKey(array<string>|string $key): $this
Устанавливает имя поля, представляющего внешний ключ к целевой таблице.
Параметры
-
array<string>|string$key ключ или ключи, используемые для связывания обеих таблиц
Возвращаемое значение
$thissetJoinType() public
setJoinType(string $type): $this
Устанавливает тип объединения, который используется при добавлении объединения в запрос.
Параметры
-
string$type тип объединения, который будет использоваться (например, INNER)
Возвращаемое значение
$thissetName() public
setName(string $name): $this
Устанавливает имя для этого объединения, обычно псевдоним, назначенный целевой связанной таблице
Параметры
-
string$name Назначаемое имя
Возвращаемое значение
$thissetProperty() public
setProperty(string $name): $this
Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
Параметры
-
string$name Имя свойства объединения. Используйте null, чтобы прочитать текущее значение.
Возвращаемое значение
$thissetSource() public
setSource(Cake\ORM\Table $table): $this
Устанавливает экземпляр таблицы для исходной стороны объединения.
Параметры
-
Cake\ORM\Table$table экземпляр, который будет назначен как исходная сторона
Возвращаемое значение
$thissetStrategy() public
setStrategy(string $name): $this
Устанавливает имя стратегии, используемой для извлечения связанных записей. Имейте в виду, что некоторые типы объединений могут не реализовать, но по умолчанию стратегию, что делает любые изменения в этом настройке бесполезными.
Параметры
-
string$name Тип стратегии. Используйте null, чтобы прочитать текущее значение.
Возвращаемое значение
$thisИсключения
InvalidArgumentExceptionПри предоставлении недопустимой стратегии.
setTableLocator() public
setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): $this
Устанавливает локатор таблицы.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocator экземпляр LocatorInterface.
Возвращаемое значение
$thissetTarget() public
setTarget(Cake\ORM\Table $table): $this
Устанавливает экземпляр таблицы для целевой стороны объединения.
Параметры
-
Cake\ORM\Table$table экземпляр, который будет назначен как целевая сторона
Возвращаемое значение
$thistransformRow() public
transformRow(array $row, string $nestKey, bool $joined, string|null $targetProperty = null): array
Правильно вложены значения связанных строк результата в правильные ключи массива внутри исходных результатов.
Параметры
-
array$row Строка для преобразования
-
string$nestKey Ключ массива, в котором должны быть найдены результаты этого объединения
-
bool$joined Является ли строка результатом прямого объединения с этим объединением
-
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.3/class-Cake.ORM.Association.HasOne.html