Spec-Zone.ru › CakePHP 4.4

Класс BelongsTo

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

Пример ассоциации BelongsTo: Статья принадлежит Автору.

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

Константы

  • 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

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

END_OF_DOCUMENT_MARKER

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

  • __call() public

    Делегирует вызовы методов целевой таблице.

  • __construct() public

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

  • __get() public

    Делегирует получение свойств целевой таблице. Это полезно для получения ассоциаций этой ассоциации.

  • __isset() public

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

  • _appendFields() protected

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

  • _appendNotMatching() protected

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

  • _bindNewAssociations() protected

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

  • _camelize() protected

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

  • _dispatchBeforeFind() protected

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

  • _entityName() protected

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

  • _extractFinder() protected

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

  • _fixtureName() protected

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

  • _formatAssociationResults() protected

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

  • _joinCondition() protected

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

  • _modelKey() protected

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

  • _modelNameFromKey() protected

    Создаёт правильное имя модели из внешнего ключа.

  • _options() protected

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

  • _pluginNamespace() protected

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

  • _pluginPath() protected

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

  • _pluralHumanName() protected

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

  • _propertyName() protected

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

  • _singularHumanName() protected

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

  • _singularName() protected

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

  • _variableName() protected

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

  • attachTo() public

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

  • canBeJoined() public

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

  • cascadeDelete() public

    Обработка каскадных удалений.

  • defaultRowValue() public

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

  • deleteAll() public

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

  • eagerLoader() public

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

  • exists() public

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

  • fetchTable() public

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

  • find() public

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

  • getBindingKey() public

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

  • getCascadeCallbacks() public

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

  • getClassName() public

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

  • getConditions() public

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

  • getDependent() public

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

  • getFinder() public

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

  • getForeignKey() public

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

  • getJoinType() public

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

  • getName() public

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

  • getProperty() public

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

  • getSource() public

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

  • getStrategy() public

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

  • getTableLocator() public

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

  • getTarget() public

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

  • isOwningSide() public

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

  • requiresKeys() public

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

  • saveAssociated() public

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

  • setBindingKey() public

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

  • setCascadeCallbacks() public

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

  • setClassName() public

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

  • setConditions() public

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

  • setDependent() public

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

  • setFinder() public

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

  • setForeignKey() public

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

  • setJoinType() public

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

  • setName() public deprecated

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

  • setProperty() public

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

  • setSource() public

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

  • setStrategy() public

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

  • setTableLocator() public

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

  • setTarget() public

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

  • transformRow() public

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

  • type() public

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

  • updateAll() public

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

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

__call() public

__call(string $method, array $argument): mixed

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

Параметры

string $method

имя вызываемого метода

array $argument

Список аргументов, переданных функции

Возвращает

mixed

Исключения

BadMethodCallException

__construct() public

__construct(string $alias, array<string, mixed> $options = [])

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

Параметры

string $alias

Имя, данное ассоциации

array<string, mixed> $options optional

Список свойств, которые должны быть установлены для этого объекта

__get() public

__get(string $property): Cake\ORM\Association

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

Параметры

string $property

имя свойства

Возвращает

Cake\ORM\Association

Исключения

RuntimeException
если не существует ассоциации с таким именем

__isset() public

__isset(string $property): bool

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

Параметры

string $property

имя свойства

Возвращает

bool

_appendFields() protected

_appendFields(Cake\ORM\Query $query, Cake\ORM\Query $surrogate, array<string, mixed> $options): void

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

Параметры

Cake\ORM\Query $query

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

Cake\ORM\Query $surrogate

запрос, содержащий поля для копирования

array<string, mixed> $options

параметры, переданные методу attachTo

Возвращает

void

_appendNotMatching() protected

_appendNotMatching(Cake\ORM\Query $query, array<string, mixed> $options): void

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

Параметры

Cake\ORM\Query $query

Запрос для изменения

array<string, mixed> $options

Массив параметров, содержащий ключ negateMatch.

Возвращает

void

_bindNewAssociations() protected

_bindNewAssociations(Cake\ORM\Query $query, Cake\ORM\Query $surrogate, array<string, mixed> $options): void

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

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

Параметры

Cake\ORM\Query $query

запрос, к которому будут присоединены ассоциации

Cake\ORM\Query $surrogate

запрос, содержащий вложения для присоединения

array<string, mixed> $options

параметры, переданные методу attachTo

Возвращает

void

_camelize() protected

_camelize(string $name): string

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

Параметры

string $name

имя

Возвращает

string

_dispatchBeforeFind() protected

_dispatchBeforeFind(Cake\ORM\Query $query): void

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

Параметры

Cake\ORM\Query $query

запрос, к которому присоединяется эта ассоциация

Возвращает

void

_entityName() protected

_entityName(string $name): string

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

Параметры

string $name

Имя

Возвращает

string

_extractFinder() protected

_extractFinder(array|string $finderData): array

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

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

Примеры:

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

Параметры

array|string $finderData

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

Возвращает

array

_fixtureName() protected

_fixtureName(string $name): string

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

Параметры

string $name

Имя класса модели

Возвращает

string

_formatAssociationResults() protected

_formatAssociationResults(Cake\ORM\Query $query, Cake\ORM\Query $surrogate, array<string, mixed> $options): void

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

Параметры

Cake\ORM\Query $query

запрос, к которому будет применена функция форматирования

Cake\ORM\Query $surrogate

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

array<string, mixed> $options

параметры, переданные методу attachTo

Возвращает

void

_joinCondition() protected

_joinCondition(array<string, mixed> $options): arrayCake\Database\Expression\IdentifierExpression>

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

Параметры

array<string, mixed> $options

список параметров, переданных методу attachTo

Возвращает

arrayCake\Database\Expression\IdentifierExpression>

Исключения

RuntimeException
если количество столбцов в foreignKey не совпадает с количеством столбцов в первичном ключе целевой таблицы

_modelKey() protected

_modelKey(string $name): string

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

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

Параметры

string $name

Имя класса модели

Возвращает

string

_modelNameFromKey() protected

_modelNameFromKey(string $key): string

Создает правильное имя модели из внешнего ключа

Параметры

string $key

Внешний ключ

Возвращает

string

_options() protected

_options(array<string, mixed> $options): void

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

Параметры

array<string, mixed> $options

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

Возвращает

void

_pluginNamespace() protected

_pluginNamespace(string $pluginName): string

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

Параметры

string $pluginName

Имя плагина

Возвращает

string

_pluginPath() protected

_pluginPath(string $pluginName): string

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

Параметры

string $pluginName

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

Возвращает

string

_pluralHumanName() protected

_pluralHumanName(string $name): string

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

Параметры

string $name

Название контроллера

Возвращает

string

_propertyName() protected

_propertyName(): string

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

Возвращает

string

_singularHumanName() protected

_singularHumanName(string $name): string

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

Параметры

string $name

Название контроллера

Возвращает

string

_singularName() protected

_singularName(string $name): string

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

Параметры

string $name

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

Возвращает

string

_variableName() protected

_variableName(string $name): string

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

Параметры

string $name

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

Возвращает

string

attachTo() public

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

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

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

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

Параметры

Cake\ORM\Query $query

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

array<string, mixed> $options optional

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

Возвращает

void

Исключения

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

canBeJoined() public

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

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

Параметры

array<string, mixed> $options optional

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

Возвращает

bool

cascadeDelete() public

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

Обработка каскадных удалений.

Ассоциации BelongsTo никогда не очищаются в сценарии каскадного удаления.

Параметры

Cake\Datasource\EntityInterface $entity

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

array<string, mixed> $options optional

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

Возвращает

bool

defaultRowValue() public

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

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

Параметры

array<string, mixed> $row

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

bool $joined

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

Возвращает

array<string, mixed>

deleteAll() public

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

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

Параметры

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

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

Возвращает

int

См. также

\Cake\ORM\Table::deleteAll()

eagerLoader() public

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Parameters

Cake\ORM\Table $side

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

Returns

bool

requiresKeys() public

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

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

Parameters

array<string, mixed> $options optional

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

Returns

bool

saveAssociated() public

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

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

Parameters

Cake\Datasource\EntityInterface $entity

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

array<string, mixed> $options optional

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

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

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

Параметры

Closure|array $conditions

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

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

$this

См. также

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

setDependent() public

setDependent(bool $dependent): $this

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

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

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

Параметры

bool $dependent

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

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

$this

setFinder() public

setFinder(array|string $finder): $this

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

Параметры

array|string $finder

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

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

$this

setForeignKey() public

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

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

Параметры

array<string>|string $key

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

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

$this

setJoinType() public

setJoinType(string $type): $this

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

Параметры

string $type

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

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

$this

setName() public

setName(string $name): $this

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

Параметры

string $name

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

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

$this

setProperty() public

setProperty(string $name): $this

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

Параметры

string $name

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

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

$this

setSource() public

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

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

Параметры

Cake\ORM\Table $table

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

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

$this

setStrategy() public

setStrategy(string $name): $this

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

Параметры

string $name

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

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

$this

Исключения

InvalidArgumentException
При предоставлении недопустимой стратегии.

setTableLocator() public

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

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

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator

экземпляр LocatorInterface.

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

$this

setTarget() public

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

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

Параметры

Cake\ORM\Table $table

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

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

$this

transformRow() public

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

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

Параметры

array $row

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

string $nestKey

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

bool $joined

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

string|null $targetProperty optional

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

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

array

type() public

type(): string

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

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

string

updateAll() public

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

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

Параметры

array $fields

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

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

Используемые условия, принимают всё, что может принять Query::where().

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

int

См. также

\Cake\ORM\Table::updateAll()

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

$_bindingKey protected

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

Тип

array<string>|string|null

$_cascadeCallbacks protected

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

Тип

bool

$_className protected

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

Тип

string

$_conditions protected

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

Тип

Closure|array

$_dependent protected

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

Тип

bool

$_finder protected

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

Тип

array|string

$_foreignKey protected

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

Тип

array<string>|string

$_joinType protected

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

Тип

string

$_name protected

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

Тип

string

$_propertyName protected

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

Тип

string

$_sourceTable protected

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

Тип

Cake\ORM\Table

$_strategy protected

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

Тип

string

$_tableLocator protected

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

Тип

Cake\ORM\Locator\LocatorInterface|null

$_targetTable protected

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

Тип

Cake\ORM\Table

$_validStrategies protected

Действительные стратегии для данного типа ассоциации

Тип

array<string>

$defaultTable protected

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

Тип

string|null

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.ORM.Association.BelongsTo.html

Spec-Zone.ru

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