Spec-Zone.ru › CakePHP 4.2

Класс 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
    string|string[]|null

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

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

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

END_OF_DOCUMENT_MARKER

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

  • __call() public

    Замещает вызовы методов целевой таблицы.

  • __construct() public

    Конструктор. Подклассы могут переопределить функцию _options, чтобы получить исходный список переданных опций, если ожидается какой-либо другой специальный ключ

  • __get() public

    Замещает получение свойств целевой таблицы. Это удобно для получения ассоциаций данной ассоциации.

  • __isset() public

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

  • _appendFields() protected

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

  • _appendNotMatching() protected

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

  • _bindNewAssociations() protected

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

  • _camelize() protected

    Создает камелизированную версию $name.

  • _dispatchBeforeFind() protected

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

  • _entityName() protected

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

  • _extractFinder() protected

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

  • _fixtureName() protected

    Создаёт имя фикстуры.

  • _formatAssociationResults() protected

    Добавляет функцию форматирования к переданному $query, если запрос $surrogate объявляет другую функцию форматирования. Поскольку запрос $surrogate соответствует связанной целевой таблице, результирующая функция форматирования будет результатом применения функций форматирования только к свойству, соответствующему данной таблице.

  • _joinCondition() protected

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

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

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

  • exists() public

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

  • find() public

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

  • getBindingKey() public

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

  • getCascadeCallbacks() public

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

  • getClassName() public

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

  • getConditions() public

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

  • getDependent() public

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

  • getFinder() public

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

  • getForeignKey() public

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

  • getJoinType() public

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

  • getName() public

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

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

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

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

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

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

Примеры:

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

Параметры

string|array $finderData

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

Возвращает

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

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

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

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

eagerLoader(array $options): Closure

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

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

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

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

  • query: Объект Query, настроенный для поиска записей исходной таблицы
  • keys: Список значений первичных ключей из исходной таблицы
  • foreignKey: Название поля, используемого для связывания обеих таблиц
  • conditions: Список условий, которые нужно передать методу query where()
  • sort: Направление, в котором должны возвращаться записи
  • fields: Список полей для выбора из целевой таблицы
  • contain: Список связанных таблиц, которые нужно загрузить вместе с целевой таблицей
  • 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 optional

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

array $options optional

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

Возвращает

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

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

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

Параметры

Cake\ORM\Table $side

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

Возвращает

bool

requiresKeys() public

requiresKeys(array $options = []): bool

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

Параметры

array $options optional

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

Возвращает

bool

saveAssociated() abstract public

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

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

Параметры

Cake\Datasource\EntityInterface $entity

сохраняемые данные

array $options optional

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

Возвращает

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

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

Тип

string|string[]|null

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

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

Spec-Zone.ru

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