Spec-Zone.ru › CakePHP 4.4

Класс Association

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

Abstract
Namespace: Cake\ORM

Константы

  • string
    MANY_TO_MANY
    'manyToMany'

    Тип связи для много-ко-многим ассоциаций.

  • string
    MANY_TO_ONE
    'manyToOne'

    Тип связи для много-к-одному ассоциаций.

  • string
    ONE_TO_MANY
    'oneToMany'

    Тип связи для один-ко-многим ассоциаций.

  • string
    ONE_TO_ONE
    'oneToOne'

    Тип связи для один-к-одному ассоциаций.

  • string
    STRATEGY_JOIN
    'join'

    Имя стратегии для использования соединений при извлечении связанных записей

  • string
    STRATEGY_SELECT
    'select'

    Имя стратегии для использования select при извлечении связанных записей

  • string
    STRATEGY_SUBQUERY
    'subquery'

    Имя стратегии для использования подзапроса при извлечении связанных записей

Краткое описание свойств

  • $_bindingKey protected
    array<string>|string|null

    Имя поля в таблице владельца, которое используется для сопоставления с foreignKey

  • $_cascadeCallbacks protected
    bool

    Следует ли каскадным удалениям также вызывать коллбэки.

  • $_className protected
    string

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

  • $_conditions protected
    Closure|array

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

  • $_dependent protected
    bool

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

  • $_finder protected
    array|string

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

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

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

  • _bindNewAssociations() protected

    Применяет все прикрепляемые ассоциации к $query из содержащихся в запросе $surrogate.

  • _camelize() protected

    Создает версию $name в стиле camelCase

  • _dispatchBeforeFind() protected

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

  • _entityName() protected

    Создает правильное имя сущности (единственное число) для указанного имени

  • _extractFinder() protected

    Вспомогательный метод для вывода запрошенного findera и его параметров.

  • _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() abstract public

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

  • defaultRowValue() public

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

  • deleteAll() public

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

  • eagerLoader() abstract public

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

  • exists() public

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

  • fetchTable() public

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

  • find() public

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

  • getBindingKey() public

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

  • getCascadeCallbacks() public

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

  • getClassName() public

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

  • getConditions() public

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

  • getDependent() public

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

  • getFinder() public

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

  • getForeignKey() public

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

  • getJoinType() public

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

  • getName() public

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

  • getProperty() public

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

  • getSource() public

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

  • getStrategy() public

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

  • getTableLocator() public

    Получает локатор таблицы.

  • getTarget() public

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

  • isOwningSide() abstract public

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

  • requiresKeys() public

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

  • saveAssociated() abstract public

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

  • setBindingKey() public

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

  • setCascadeCallbacks() public

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

  • setClassName() public

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

  • setConditions() public

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

  • setDependent() public

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

  • setFinder() public

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

  • setForeignKey() public

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

  • setJoinType() public

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

  • setName() public deprecated

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

  • setProperty() public

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

  • setSource() public

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

  • setStrategy() public

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

  • setTableLocator() public

    Устанавливает локатор таблицы.

  • setTarget() public

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

  • transformRow() public

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

  • type() abstract 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
if no association with such name exists

__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

Вспомогательный метод для вывода запрошенного findera и его параметров.

Возвращает выведенные параметры из findera $type.

Примеры:

Следующий код вызовет finder 'translations' со значением findera в качестве его параметров: $query->contain(['Comments' => ['finder' => ['translations']]]); $query->contain(['Comments' => ['finder' => ['translations' => []]]]); $query->contain(['Comments' => ['finder' => ['translations' => ['locales' => ['en_US']]]]]);

Параметры

array|string $finderData

Имя findera или массив, содержащий имя в качестве ключа и параметры в качестве значения.

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

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
if the number of columns in the foreignKey do not match the number of columns in the source table primaryKey

_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

Переопределите эту функцию для инициализации любого конкретного класса ассоциации, ей будет передан исходный список параметров, используемых в конструкторе

Parameters

array<string, mixed> $options

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

Returns

void

_pluginNamespace() protected

_pluginNamespace(string $pluginName): string

Возвращает пространство имен плагина

Parameters

string $pluginName

Имя плагина

Returns

string

_pluginPath() protected

_pluginPath(string $pluginName): string

Находит правильный путь для плагина. Сканирует $pluginPaths для нужного плагина.

Parameters

string $pluginName

Имя нужного плагина, например, DebugKit

Returns

string

_pluralHumanName() protected

_pluralHumanName(string $name): string

Создает множественное имя, используемое в представлениях

Parameters

string $name

Имя контроллера

Returns

string

_propertyName() protected

_propertyName(): string

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

Returns

string

_singularHumanName() protected

_singularHumanName(string $name): string

Создает единственное имя, используемое в представлениях

Parameters

string $name

Имя контроллера

Returns

string

_singularName() protected

_singularName(string $name): string

Создает единственное имя для использования в представлениях.

Parameters

string $name

Имя для использования

Returns

string

_variableName() protected

_variableName(string $name): string

Создает множественное имя переменной для представлений

Parameters

string $name

Имя для использования

Returns

string

attachTo() public

attachTo(Cake\ORM\Query $query, array<string, mixed> $options = []): void

Изменяет объект Query, чтобы включить данные целевой таблицы ассоциации в окончательный результат

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

  • includeFields: Включать ли поля целевой модели в результат или нет
  • foreignKey: Имя поля, используемого в качестве внешнего ключа, если false, то не будет использоваться ни одно
  • conditions: массив со списком условий для фильтрации соединения, он будет объединен с любыми условиями, первоначально настроенными для этой ассоциации
  • fields: список полей в целевой таблице для включения в результат
  • aliasPath: Точка-разделительная строка, представляющая путь имен ассоциаций, следующих от основной таблицы переданного запроса к этой ассоциации.
  • propertyPath: Точка-разделительная строка, представляющая путь свойств ассоциации, по которому нужно следовать от основной сущности переданного запроса к этой ассоциации
  • joinType: Тип соединения SQL, используемый в запросе.
  • negateMatch: Добавит условие в переданный запрос для исключения совпадений с этой ассоциацией.

Parameters

Cake\ORM\Query $query

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

array<string, mixed> $options optional

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

Returns

void

Throws

RuntimeException
Невозможно построить запрос или ассоциации.

canBeJoined() public

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

Можно ли эту ассоциацию выразить непосредственно в соединении запроса

Parameters

array<string, mixed> $options optional

Ключ пользовательских параметров, который может изменить возвращаемое значение

Returns

bool

cascadeDelete() abstract public

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

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

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

Parameters

Cake\Datasource\EntityInterface $entity

Сущность, которая инициировала каскадное удаление.

array<string, mixed> $options optional

Параметры для исходного удаления.

Returns

bool

defaultRowValue() public

defaultRowValue(array<string, mixed> $row, bool $joined): array<string, mixed>

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

Parameters

array<string, mixed> $row

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

bool $joined

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

Returns

array<string, mixed>

deleteAll() public

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

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

Parameters

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

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

Returns

int

See Also

\Cake\ORM\Table::deleteAll()

eagerLoader() abstract public

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

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

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

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

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

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

Parameters

array<string, mixed> $options

Параметры для жадной загрузки.

Returns

Closure

exists() public

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

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

Parameters

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

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

Returns

bool

See Also

\Cake\ORM\Table::exists()

fetchTable() public

fetchTable(string|null $alias = null, array<string, mixed> $options = []): Cake\ORM\Table

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

Parameters

string|null $alias optional

Имя псевдонима, которое вы хотите получить. Должно быть в формате CamelCase. Если null , то используется значение свойства $defaultTable.

array<string, mixed> $options optional

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

Returns

Cake\ORM\Table

Throws

Cake\Core\Exception\CakeException
Если аргумент `$alias` и свойство `$defaultTable` оба равны `null`.

See Also

\Cake\ORM\TableLocator::get()

find() public

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

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

Parameters

array<string, mixed>|string|null $type optional

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

array<string, mixed> $options optional

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

Returns

Cake\ORM\Query

See Also

\Cake\ORM\Table::find()

getBindingKey() public

getBindingKey(): array<string>|string

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

Returns

array<string>|string

getCascadeCallbacks() public

getCascadeCallbacks(): bool

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

Returns

bool

getClassName() public

getClassName(): string

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

Returns

string

getConditions() public

getConditions(): Closure|array

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

Returns

Closure|array

See Also

\Cake\Database\Query::where() for examples on the format of the array

getDependent() public

getDependent(): bool

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

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

Returns

bool

getFinder() public

getFinder(): array|string

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

Returns

array|string

getForeignKey() public

getForeignKey(): array<string>|string

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

Returns

array<string>|string

getJoinType() public

getJoinType(): string

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

Returns

string

getName() public

getName(): string

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

Returns

string

getProperty() public

getProperty(): string

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

Returns

string

getSource() public

getSource(): Cake\ORM\Table

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

Returns

Cake\ORM\Table

getStrategy() public

getStrategy(): string

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

Returns

string

getTableLocator() public

getTableLocator(): Cake\ORM\Locator\LocatorInterface

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

Returns

Cake\ORM\Locator\LocatorInterface

getTarget() public

getTarget(): Cake\ORM\Table

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

Returns

Cake\ORM\Table

isOwningSide() abstract public

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

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

Parameters

Cake\ORM\Table $side

Потенциальная таблица с правом собственности

Returns

bool

requiresKeys() public

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

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

Parameters

array<string, mixed> $options optional

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

Returns

bool

saveAssociated() abstract public

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

Извлекает данные связывания цели из переданного объекта и передает операцию сохранения в целевую таблицу.

Parameters

Cake\Datasource\EntityInterface $entity

данные для сохранения

array<string, mixed> $options optional

Параметры для сохранения связанных данных.

Returns

Cake\Datasource\EntityInterface|false

See Also

\Cake\ORM\Table::save()

setBindingKey() public

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

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

Parameters

array<string>|string $key

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

Returns

$this

setCascadeCallbacks() public

setCascadeCallbacks(bool $cascadeCallbacks): $this

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

Parameters

bool $cascadeCallbacks

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

Returns

$this

setClassName() public

setClassName(string $className): $this

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

Parameters

string $className

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

Returns

$this

Throws

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

setConditions() public

setConditions(Closure|array $conditions): $this

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

Parameters

Closure|array $conditions

список условий для использования

Returns

$this

See Also

\Cake\Database\Query::where() for examples on the format of the array

setDependent() public

setDependent(bool $dependent): $this

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

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

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

Parameters

bool $dependent

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

Returns

$this

setFinder() public

setFinder(array|string $finder): $this

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

Parameters

array|string $finder

имя средства поиска для использования или массив имени средства поиска и опции.

Returns

$this

setForeignKey() public

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

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

Parameters

array<string>|string $key

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

Returns

$this

setJoinType() public

setJoinType(string $type): $this

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

Parameters

string $type

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

Returns

$this

setName() public

setName(string $name): $this

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

Parameters

string $name

Имя, которое будет назначено

Returns

$this

setProperty() public

setProperty(string $name): $this

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

Parameters

string $name

Имя свойства связи. Используйте null для чтения текущего значения.

Returns

$this

setSource() public

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

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

Parameters

Cake\ORM\Table $table

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

Returns

$this

setStrategy() public

setStrategy(string $name): $this

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

Parameters

string $name

Тип стратегии. Используйте null для чтения текущего значения.

Returns

$this

Throws

InvalidArgumentException
Когда предоставляется неверная стратегия.

setTableLocator() public

setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): $this

Устанавливает локатор таблиц.

Parameters

Cake\ORM\Locator\LocatorInterface $tableLocator

Экземпляр LocatorInterface.

Returns

$this

setTarget() public

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

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

Parameters

Cake\ORM\Table $table

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

Returns

$this

transformRow() public

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

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

Parameters

array $row

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

string $nestKey

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

bool $joined

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

string|null $targetProperty optional

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

Returns

array

type() abstract public

type(): string

Получить тип связи.

Returns

string

updateAll() public

updateAll(array $fields, Cake\Database\ExpressionInterfaceClosure|array|string|null $conditions): int

Передает операцию обновления в метод updateAll целевой таблицы

Parameters

array $fields

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

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

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

Returns

int

See Also

\Cake\ORM\Table::updateAll()

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

$_bindingKey protected

Имя поля в таблице владельца, используемое для сопоставления с foreignKey

Type

array<string>|string|null

$_cascadeCallbacks protected

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

Type

bool

$_className protected

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

Type

string

$_conditions protected

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

Type

Closure|array

$_dependent protected

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

Type

bool

$_finder protected

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

Type

array|string

$_foreignKey protected

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

Type

array<string>|string

$_joinType protected

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

Type

string

$_name protected

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

Type

string

$_propertyName protected

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

Type

string

$_sourceTable protected

Экземпляр исходной таблицы

Type

Cake\ORM\Table

$_strategy protected

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

Type

string

$_tableLocator protected

Экземпляр локатора таблицы

Type

Cake\ORM\Locator\LocatorInterface|null

$_targetTable protected

Экземпляр целевой таблицы

Type

Cake\ORM\Table

$_validStrategies protected

Допустимые стратегии для этой ассоциации. Подклассы могут сузить этот список.

Type

array<string>

$defaultTable protected

Псевдоним таблицы по умолчанию для этого объекта.

Type

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.4/class-Cake.ORM.Association.html

Spec-Zone.ru

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