Spec-Zone.ru › CakePHP 4.2

Класс HasOne

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

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

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

Константы

  • 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

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

END_OF_DOCUMENT_MARKER
  • 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

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

Возвращает

string

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

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

Возвращает

bool

cascadeDelete() public

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

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

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

Параметры

Cake\Datasource\EntityInterface $entity
array $options optional

Возвращает

bool

defaultRowValue() public

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

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

Параметры

array $row

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

bool $joined

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

Возвращает

array

deleteAll() public

deleteAll(mixed $conditions): int

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

Параметры

mixed $conditions

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

Возвращает

int

См. также

\Cake\ORM\Table::deleteAll()

eagerLoader() public

eagerLoader(array $options): Closure

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

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

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

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

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

Параметры

array $options

Возвращает

Closure

exists() public

exists(arrayClosureCake\Database\ExpressionInterface $conditions): bool

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

Параметры

arrayClosureCake\Database\ExpressionInterface $conditions

Условия для проверки соответствия какой-либо записи.

Возвращает

bool

См. также

\Cake\ORM\Table::exists()

find() public

find(string|array|null $type = null, array $options = []): Cake\ORM\Query

Делегирует операцию поиска методу find целевой таблицы и соответственно изменяет запрос на основе этой конфигурации ассоциации.

Параметры

string|array|null $type необязательно

тип запроса, если передаётся массив, он интерпретируется как $options параметр

array $options необязательно

Параметры для поиска

Возвращает

Cake\ORM\Query

См. также

\Cake\ORM\Table::find()

getBindingKey() public

getBindingKey(): string|string[]

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

Возвращает

string|string[]

getCascadeCallbacks() public

getCascadeCallbacks(): bool

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

Возвращает

bool

getClassName() public

getClassName(): string

Получает имя класса объекта целевой таблицы.

Возвращает

string

getConditions() public

getConditions(): arrayClosure

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

Возвращает

arrayClosure

См. также

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

getDependent() public

getDependent(): bool

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

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

Возвращает

bool

getFinder() public

getFinder(): string|array

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

Возвращает

string|array

getForeignKey() public

getForeignKey(): string|string[]

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

Возвращает

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 $options = []): bool

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

Параметры

array $options необязательно

Параметры, содержащие используемую стратегию.

Возвращает

bool

saveAssociated() public

saveAssociated(Cake\Datasource\EntityInterface $entity, array $options = []): Cake\Datasource\EntityInterface|false

Принимает сущность из исходной таблицы и проверяет, есть ли поле, соответствующее имени свойства для этой ассоциации. Найденная сущность будет сохранена в целевой таблице для этой ассоциации, передав предоставленные $options.

Параметры

Cake\Datasource\EntityInterface $entity

сущность из исходной таблицы

array $options необязательно

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

Возвращает

Cake\Datasource\EntityInterface|false

См. также

\Cake\ORM\Table::save()

setBindingKey() public

setBindingKey(string|string[] $key): $this

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

Параметры

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(arrayClosure $conditions): Cake\ORM\Association

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

Параметры

arrayClosure $conditions

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

Возвращает

Cake\ORM\Association

См. также

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

setDependent() public

setDependent(bool $dependent): $this

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

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

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

Параметры

bool $dependent

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

Возвращает

$this

setFinder() public

setFinder(string|array $finder): $this

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

Параметры

string|array $finder

имя используемого поиска или массив имени поиска и опции.

Возвращает

$this

setForeignKey() public

setForeignKey(string|string[] $key): $this

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

Параметры

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, mixed $conditions): int

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

Параметры

array $fields

Хэш поле => новое значение.

mixed $conditions

Условия, принимающие все, что может принять Query::where().

Возвращает

int

См. также

\Cake\ORM\Table::updateAll()

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

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

Spec-Zone.ru

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