Spec-Zone.ru › CakePHP 4.3

Класс Association

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

Абстрактный
Пространство имен: 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

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

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

    Вспомогательный метод для определения запрошенного 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()abstractpublic

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

  • defaultRowValue()public

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

  • deleteAll()public

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

  • eagerLoader()abstractpublic

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

  • exists()public

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

  • fetchTable()public

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

  • find()public

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

  • getBindingKey()public

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

  • getCascadeCallbacks()public

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

  • getClassName()public

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

  • getConditions()public

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

  • getDependent()public

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

  • getFinder()public

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

  • getForeignKey()public

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

  • getJoinType()public

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

  • getName() public

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

  • getProperty() public

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

  • getSource() public

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

  • getStrategy() public

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

  • getTableLocator() public

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

  • getTarget() public

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

  • isOwningSide() abstract public

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

  • requiresKeys() public

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

  • saveAssociated() abstract public

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

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

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

Параметры

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

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

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

Параметры

Cake\ORM\Table $side

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

Возвращает

bool

requiresKeys() public

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

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

Параметры

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

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

Возвращает

bool

saveAssociated() abstract public

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

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

Параметры

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

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

bool $targetProperty optional

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

Возвращает

array

type() abstract 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

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

Тип

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

Spec-Zone.ru

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