Spec-Zone.ru › CakePHP 4.3

Класс HasOne

Представляет отношение 1 - 1, где сторона источника связана только с одной записью в целевой таблице, и наоборот.

Пример ассоциации HasOne - пользователь имеет один профиль.

Пространство имён: Cake\ORM\Association

Константы

  • 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

Используемое имя.

Возвращает

string

attachTo() 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

Дополнительные опции, которые могут изменить возвращаемое значение.

Возвращает

bool

cascadeDelete() public

cascadeDelete(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options = []): bool

Обрабатывает каскадное удаление из связанной модели.

Каждый реализующий класс должен обрабатывать каскадное удаление по мере необходимости.

Параметры

Cake\Datasource\EntityInterface $entity
array<string, mixed> $options optional

Возвращает

bool

defaultRowValue() public

defaultRowValue(array $row, bool $joined): array

Возвращает изменённую строку после добавления свойства для этой ассоциации со значением по умолчанию в соответствии с тем, была ли ассоциация присоединена или получена извне.

Параметры

array $row

Строка, для которой нужно установить значение по умолчанию.

bool $joined

Является ли строка результатом прямого соединения с этой ассоциацией?

Возвращает

array

deleteAll() public

deleteAll(Cake\Database\ExpressionInterfaceClosure|array|string|null $conditions): int

Делегирует операцию удаления методу deleteAll целевой таблицы.

Параметры

Cake\Database\ExpressionInterfaceClosure|array|string|null $conditions

Условия, которые должны использоваться. Принимает всё, что может принять Query::where().

Возвращает

int

См. также

\Cake\ORM\Table::deleteAll()

eagerLoader() public

eagerLoader(array<string, mixed> $options): Closure

Загружает жадно список записей в целевой таблице, которые связаны с другим набором записей в исходной таблице. Источник записей может быть указан двумя способами: во-первых, путём передачи объекта Query, настроенного для поиска в исходной таблице, и во-вторых, явным указанием массива значений первичных ключей из исходной таблицы.

Необходимый способ передачи связанных записей источника контролируется "стратегией". При использовании стратегии подзапроса требуется запрос на исходную таблицу. При использовании стратегии выбора используется список первичных ключей.

Возвращает замыкание, которое должно быть запущено для каждой строки, возвращённой в определённом запросе. Эта вызываемая функция будет отвечать за ввод полей, связанных с каждой конкретной переданной строкой.

Массив опций принимает следующие ключи:

  • query: Объект Query, настроенный для поиска записей исходной таблицы.
  • keys: Список значений первичных ключей из исходной таблицы.
  • foreignKey: Имя поля, используемого для связи обеих таблиц.
  • conditions: Список условий, которые необходимо передать методу where() запроса.
  • sort: Направление, в котором должны быть возвращены записи.
  • fields: Список полей для выбора из целевой таблицы.
  • contain: Список связанных таблиц, которые нужно жадно загрузить, связанных с целевой таблицей.
  • strategy: Имя стратегии, которую следует использовать для поиска записей целевой таблицы.
  • nestKey: Ключ массива, под которым будут найдены результаты при преобразовании строки.

Параметры

array<string, mixed> $options

Возвращает

Closure

exists() public

exists(Cake\Database\ExpressionInterfaceClosure|array|string|null $conditions): bool

Делегирует операцию целевой таблице'exists' после добавления по умолчанию условий для данной ассоциации.

Параметры

Cake\Database\ExpressionInterfaceClosure|array|string|null $conditions

Условие, используемое для проверки соответствия записям.

Возвращает

bool

См. также

\Cake\ORM\Table::exists()

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`.

См. также

\Cake\ORM\TableLocator::get()

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

См. также

\Cake\ORM\Table::find()

getBindingKey() public

getBindingKey(): array<string>|string

Возвращает имя поля, представляющего поле привязки к целевой таблице. Если не указано вручную, используется первичный ключ таблицы-владельца.

Возвращает

array<string>|string

getCascadeCallbacks() public

getCascadeCallbacks(): bool

Возвращает, должны ли также срабатывать колбэки при каскадных удалениях.

Возвращает

bool

getClassName() public

getClassName(): string

Возвращает имя класса объекта целевой таблицы.

Возвращает

string

getConditions() public

getConditions(): Closure|array

Возвращает список условий, которые всегда должны включаться при получении записей из целевой ассоциации.

Возвращает

Closure|array

См. также

\Cake\Database\Query::where() для примеров формата массива

getDependent() public

getDependent(): bool

Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.

Это в первую очередь используется для указания того, что записи должны быть удалены, если запись-владелец в исходной таблице будет удалена.

Возвращает

bool

getFinder() public

getFinder(): array|string

Возвращает метод поиска по умолчанию для извлечения строк из целевой таблицы.

Возвращает

array|string

getForeignKey() public

getForeignKey(): array<string>|string

Возвращает имя поля, представляющего внешний ключ к целевой таблице.

Возвращает

array<string>|string

getJoinType() public

getJoinType(): string

Возвращает тип соединения, который будет использоваться при добавлении ассоциации в запрос.

Возвращает

string

getName() public

getName(): string

Возвращает имя этой ассоциации, обычно псевдоним, назначенный целевой связанной таблице.

Возвращает

string

getProperty() public

getProperty(): string

Возвращает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.

Возвращает

string

getSource() public

getSource(): Cake\ORM\Table

Возвращает экземпляр таблицы для стороны источника ассоциации.

Возвращает

Cake\ORM\Table

getStrategy() public

getStrategy(): string

Возвращает имя стратегии, используемой для получения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовать, но по умолчанию стратегия, что делает любые изменения в этом параметре недействительными.

Возвращает

string

getTableLocator() public

getTableLocator(): Cake\ORM\Locator\LocatorInterface

Возвращает локатор таблиц.

Возвращает

Cake\ORM\Locator\LocatorInterface

getTarget() public

getTarget(): Cake\ORM\Table

Возвращает экземпляр таблицы для целевой стороны ассоциации.

Возвращает

Cake\ORM\Table

isOwningSide() public

isOwningSide(Cake\ORM\Table $side): bool

Возвращает, является ли переданная таблица стороной-владельцем для этой ассоциации. Это означает, что строки в таблице «target» могут потерять важную или необходимую информацию, если строка в таблице «source» не существует.

Параметры

Cake\ORM\Table $side

Возможная таблица с владением

Возвращает

bool

requiresKeys() public

requiresKeys(array<string, mixed> $options = []): bool

Возвращает true, если процесс жадного загрузки потребует набора идентификаторов таблицы-владельца для использования их в качестве фильтра в запросе find.

Параметры

array<string, mixed> $options необязательный

Опции, содержащие стратегию, которая будет использоваться.

Возвращает

bool

saveAssociated() 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

См. также

\Cake\ORM\Table::save()

setBindingKey() public

setBindingKey(array<string>|string $key): $this

Устанавливает имя поля, представляющего поле привязки к целевой таблице. Если не указано вручную, используется первичный ключ таблицы-владельца.

Параметры

array<string>|string $key

поле или поля таблицы, которые будут использоваться для связи обеих таблиц

Возвращает

$this

setCascadeCallbacks() public

setCascadeCallbacks(bool $cascadeCallbacks): $this

Устанавливает, должны ли также срабатывать колбэки при каскадных удалениях.

Параметры

bool $cascadeCallbacks

значение переключателя колбэков каскадного удаления

Возвращает

$this

setClassName() public

setClassName(string $className): $this

Устанавливает имя класса объекта целевой таблицы.

Параметры

string $className

Имя класса для установки.

Возвращает

$this

Исключения

InvalidArgumentException
Если имя класса устанавливается после того, как целевая таблица была разрешена, и оно не совпадает с именем класса целевой таблицы.

setConditions() public

setConditions(Closure|array $conditions): $this

Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевого объединения.

Параметры

Closure|array $conditions

список условий, которые будут использоваться

Возвращаемое значение

$this

См. также

\Cake\Database\Query::where() для примеров формата массива

setDependent() public

setDependent(bool $dependent): $this

Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.

Это в основном используется для указания того, что записи должны быть удалены, если владеющая запись в исходной таблице удаляется.

Если параметры не передаются, возвращается текущее значение.

Параметры

bool $dependent

Установите режим зависимости. Используйте null, чтобы прочитать текущее состояние.

Возвращаемое значение

$this

setFinder() public

setFinder(array|string $finder): $this

Устанавливает используемый по умолчанию поиск для извлечения строк из целевой таблицы.

Параметры

array|string $finder

имя нахождения или массив имени нахождения и опции.

Возвращаемое значение

$this

setForeignKey() public

setForeignKey(array<string>|string $key): $this

Устанавливает имя поля, представляющего внешний ключ к целевой таблице.

Параметры

array<string>|string $key

ключ или ключи, используемые для связывания обеих таблиц

Возвращаемое значение

$this

setJoinType() public

setJoinType(string $type): $this

Устанавливает тип объединения, который используется при добавлении объединения в запрос.

Параметры

string $type

тип объединения, который будет использоваться (например, INNER)

Возвращаемое значение

$this

setName() public

setName(string $name): $this

Устанавливает имя для этого объединения, обычно псевдоним, назначенный целевой связанной таблице

Параметры

string $name

Назначаемое имя

Возвращаемое значение

$this

setProperty() public

setProperty(string $name): $this

Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.

Параметры

string $name

Имя свойства объединения. Используйте null, чтобы прочитать текущее значение.

Возвращаемое значение

$this

setSource() public

setSource(Cake\ORM\Table $table): $this

Устанавливает экземпляр таблицы для исходной стороны объединения.

Параметры

Cake\ORM\Table $table

экземпляр, который будет назначен как исходная сторона

Возвращаемое значение

$this

setStrategy() 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.

Возвращаемое значение

$this

setTarget() public

setTarget(Cake\ORM\Table $table): $this

Устанавливает экземпляр таблицы для целевой стороны объединения.

Параметры

Cake\ORM\Table $table

экземпляр, который будет назначен как целевая сторона

Возвращаемое значение

$this

transformRow() public

transformRow(array $row, string $nestKey, bool $joined, string|null $targetProperty = null): array

Правильно вложены значения связанных строк результата в правильные ключи массива внутри исходных результатов.

Параметры

array $row

Строка для преобразования

string $nestKey

Ключ массива, в котором должны быть найдены результаты этого объединения

bool $joined

Является ли строка результатом прямого объединения с этим объединением

string|null $targetProperty optional

Имя свойства в исходных результатах, где данные объединения должны быть вложены. Будет использоваться значение по умолчанию, если не указано.

Возвращаемое значение

array

type() public

type(): string

Получить тип отношения.

Возвращаемое значение

string

updateAll() 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

См. также

\Cake\ORM\Table::updateAll()

Подробное описание свойства

$_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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API