Spec-Zone.ru › CakePHP 4.2

Класс BelongsTo

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

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

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

Константы

  • string
    МНОГО_КО_МНОГИМ
    'manyToMany'

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

  • string
    МНОГО_КО_ОДНОМУ
    'manyToOne'

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

  • string
    ОДИН_КО_МНОГИМ
    'oneToMany'

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

  • string
    ОДИН_КО_ОДНОМУ
    'oneToOne'

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

  • string
    СТРАТЕГИЯ_СОЕДИНЕНИЕ
    'join'

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

  • string
    СТРАТЕГИЯ_ВЫБОР
    'select'

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

  • string
    СТРАТЕГИЯ_ВЛОЖЕННЫЙ_ЗАПРОС
    '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

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

  • _appendNotMatching()protected

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

  • _bindNewAssociations()protected

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

  • _camelize()protected

    Создает camelized версию $name.

  • _dispatchBeforeFind()protected

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

  • _entityName()protected

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

  • _extractFinder()protected

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

  • _fixtureName()protected

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

  • _formatAssociationResults()protected

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

  • _joinCondition()protected

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

  • _modelKey()protected

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

  • _modelNameFromKey()protected

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

  • _options()protected

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

  • _pluginNamespace()protected

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

  • _pluginPath()protected

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

  • _pluralHumanName()protected

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

  • _propertyName()protected

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

  • _singularHumanName()protected

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

  • _singularName()protected

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

  • _variableName()protected

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

  • attachTo()public

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

  • canBeJoined()public

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

  • cascadeDelete()public

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

  • defaultRowValue()public

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

  • deleteAll()public

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

  • eagerLoader()public

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

  • exists()public

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

  • find()public

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

  • getBindingKey()public

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

  • getCascadeCallbacks()public

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

  • getClassName()public

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

  • getConditions()public

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

  • getDependent()public

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

  • getFinder()public

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

  • getForeignKey()public

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

  • getJoinType()public

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

  • getName()public

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

END_OF_DOCUMENT_MARKER
  • getProperty() public

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

  • getSource() public

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

  • getStrategy() public

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

  • getTableLocator() public

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

  • getTarget() public

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

  • isOwningSide() public

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

  • requiresKeys() public

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

  • saveAssociated() public

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

  • setBindingKey() public

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

  • setCascadeCallbacks() public

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

  • setClassName() public

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

  • setConditions() public

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

  • setDependent() public

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

  • setFinder() public

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

  • setForeignKey() public

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

  • setJoinType() public

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

  • setName() public

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

  • setProperty() public

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

  • setSource() public

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

  • setStrategy() public

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

  • setTableLocator() public

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

  • setTarget() public

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

  • transformRow() public

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

  • type() public

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

  • updateAll() public

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

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

__call() public

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

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

Параметры

string $method

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

array $argument

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

Возвращает

mixed

Исключения

BadMethodCallException

__construct() public

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

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

Параметры

string $alias

Имя, присвоенное ассоциации

array $options optional

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

__get() public

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

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

Параметры

string $property

имя свойства

Возвращает

Cake\ORM\Association

Исключения

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

__isset() public

__isset(string $property): bool

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

Параметры

string $property

имя свойства

Возвращает

bool

_appendFields() protected

_appendFields(Cake\ORM\Query $query, Cake\ORM\Query $surrogate, array $options): void

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

Параметры

Cake\ORM\Query $query

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

Cake\ORM\Query $surrogate

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

array $options

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

Возвращает

void

_appendNotMatching() protected

_appendNotMatching(Cake\ORM\Query $query, array $options): void

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

Параметры

Cake\ORM\Query $query

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

array $options

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

Возвращает

void

_bindNewAssociations() protected

_bindNewAssociations(Cake\ORM\Query $query, Cake\ORM\Query $surrogate, array $options): void

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

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

Параметры

Cake\ORM\Query $query

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

Cake\ORM\Query $surrogate

запрос, содержащий элементы для прикрепления

array $options

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

Возвращает

void

_camelize() protected

_camelize(string $name): string

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

Параметры

string $name

имя

Возвращает

string

_dispatchBeforeFind() protected

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

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

Параметры

Cake\ORM\Query $query

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

Возвращает

void

_entityName() protected

_entityName(string $name): string

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

Параметры

string $name

Имя

Возвращает

string

_extractFinder() protected

_extractFinder(string|array $finderData): array

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

Возвращает выведенные параметры из поиска $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): Cake\Database\Expression\IdentifierExpression[]

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

Параметры

array $options

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

Возвращает

Cake\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 $options): void

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

Параметры

array $options

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

Возвращает

void

_pluginNamespace() protected

_pluginNamespace(string $pluginName): string

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

Параметры

string $pluginName

Имя плагина.

Возвращает

string

_pluginPath() protected

_pluginPath(string $pluginName): string

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

Параметры

string $pluginName

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

Возвращает

string

_pluralHumanName() protected

_pluralHumanName(string $name): string

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

Параметры

string $name

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

Возвращает

string

_propertyName() protected

_propertyName(): string

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

Возвращает

string

_singularHumanName() protected

_singularHumanName(string $name): string

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

Параметры

string $name

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

Возвращает

string

_singularName() protected

_singularName(string $name): string

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

Параметры

string $name

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

Возвращает

string

_variableName() protected

_variableName(string $name): string

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

Параметры

string $name

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

Возвращает

string

attachTo() public

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

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

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

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

Параметры

Cake\ORM\Query $query

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

array $options optional

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

Возвращает

void

Выбрасывает

RuntimeException
если создатель запроса не возвращает объект запроса

canBeJoined() public

canBeJoined(array $options = []): bool

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

Параметры

array $options optional

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

Возвращает

bool

cascadeDelete() public

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

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

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

Параметры

Cake\Datasource\EntityInterface $entity

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

array $options optional

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

Возвращает

bool

defaultRowValue() public

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

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

Параметры

array $row

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

bool $joined

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

Возвращает

array

deleteAll() public

deleteAll(mixed $conditions): int

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

Параметры

mixed $conditions

Условие. Принимает любой аргумент, который может принять Query::where().

Возвращает

int

См. также

\Cake\ORM\Table::deleteAll()

eagerLoader() public

eagerLoader(array $options): Closure

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

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

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

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

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

Параметры

array $options

Возвращает

Closure

exists() public

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

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

Параметры

arrayClosureCake\Database\ExpressionInterface $conditions

Условия для проверки наличия совпадающей записи.

Возвращает

bool

См. также

\Cake\ORM\Table::exists()

find() public

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

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

Параметры

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

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

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

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

Возвращает

Cake\ORM\Query

См. также

\Cake\ORM\Table::find()

getBindingKey() public

getBindingKey(): string|string[]

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

Возвращает

string|string[]

getCascadeCallbacks() public

getCascadeCallbacks(): bool

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

Возвращает

bool

getClassName() public

getClassName(): string

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

Возвращает

string

getConditions() public

getConditions(): arrayClosure

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

Возвращает

arrayClosure

См. также

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

getDependent() public

getDependent(): bool

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

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

Возвращает

bool

getFinder() public

getFinder(): string|array

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

Возвращает

string|array

getForeignKey() public

getForeignKey(): string|string[]

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

Возвращает

string|string[]

getJoinType() public

getJoinType(): string

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

Возвращает

string

getName() public

getName(): string

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

Возвращает

string

getProperty() public

getProperty(): string

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

Возвращает

string

getSource() public

getSource(): Cake\ORM\Table

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

Возвращает

Cake\ORM\Table

getStrategy() public

getStrategy(): string

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

Возвращает

string

getTableLocator() public

getTableLocator(): Cake\ORM\Locator\LocatorInterface

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

Возвращает

Cake\ORM\Locator\LocatorInterface

getTarget() public

getTarget(): Cake\ORM\Table

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

Возвращает

Cake\ORM\Table

isOwningSide() public

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

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

Параметры

Cake\ORM\Table $side

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

Возвращает

bool

requiresKeys() public

requiresKeys(array $options = []): bool

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

Параметры

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

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

Возвращает

bool

saveAssociated() public

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

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

Параметры

Cake\Datasource\EntityInterface $entity

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

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

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

Возвращает

Cake\Datasource\EntityInterface|false

См. также

\Cake\ORM\Table::save()

setBindingKey() public

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

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

Параметры

string|string[] $key

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

Возвращает

$this

setCascadeCallbacks() public

setCascadeCallbacks(bool $cascadeCallbacks): $this

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

Параметры

bool $cascadeCallbacks

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

Возвращает

$this

setClassName() public

setClassName(string $className): $this

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

Параметры

string $className

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

Возвращает

$this

Исключения

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

setConditions() public

setConditions(arrayClosure $conditions): Cake\ORM\Association

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

Параметры

arrayClosure $conditions

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

Возвращает

Cake\ORM\Association

См. также

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

setDependent() public

setDependent(bool $dependent): $this

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

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

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

Параметры

bool $dependent

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

Возвращает

$this

setFinder() public

setFinder(string|array $finder): $this

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

Параметры

string|array $finder

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

Возвращает

$this

setForeignKey() public

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

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

Параметры

string|string[] $key

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

Возвращает

$this

setJoinType() public

setJoinType(string $type): $this

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

Параметры

string $type

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

Возвращает

$this

setName() public

setName(string $name): $this

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

Параметры

string $name

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

Возвращает

$this

setProperty() public

setProperty(string $name): $this

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

Параметры

string $name

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

Возвращает

$this

setSource() public

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

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

Параметры

Cake\ORM\Table $table

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

Возвращает

$this

setStrategy() public

setStrategy(string $name): $this

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

Параметры

string $name

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

Возвращает

$this

Исключения

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

setTableLocator() public

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

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

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator

экземпляр LocatorInterface.

Возвращает

$this

setTarget() public

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

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

Параметры

Cake\ORM\Table $table

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

Возвращает

$this

transformRow() public

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

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

Параметры

array $row

Преобразуемая строка

string $nestKey

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

bool $joined

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

string|null $targetProperty optional

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

Возвращает

array

type() public

type(): string

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

Возвращает

string

updateAll() public

updateAll(array $fields, mixed $conditions): int

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

Параметры

array $fields

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

mixed $conditions

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

Возвращает

int

См. также

\Cake\ORM\Table::updateAll()

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

$_bindingKey защищенное

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

Тип

string|string[]|null

$_cascadeCallbacks защищенное

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

Тип

bool

$_className защищенное

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

Тип

string

$_conditions защищенное

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

Тип

arrayClosure

$_dependent защищенное

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

Тип

bool

$_finder защищенное

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

Тип

string|array

$_foreignKey защищенное

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

Тип

string|string[]

$_joinType защищенное

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

Тип

string

$_name защищенное

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

Тип

string

$_propertyName защищенное

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

Тип

string

$_sourceTable защищенное

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

Тип

Cake\ORM\Table

$_strategy защищенное

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

Тип

string

$_tableLocator защищенное

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

Тип

Cake\ORM\Locator\LocatorInterface|null

$_targetTable защищенное

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

Тип

Cake\ORM\Table

$_validStrategies защищенное

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

Тип

string[]

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

Spec-Zone.ru

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