Spec-Zone.ru › CakePHP 3.7

Класс Association

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

Cake\ORM\Association использует Cake\Core\ConventionsTrait , Cake\ORM\Locator\LocatorAwareTrait

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

  • Cake\ORM\Association\BelongsTo
  • Cake\ORM\Association\BelongsToMany
  • Cake\ORM\Association\HasMany
  • Cake\ORM\Association\HasOne
Абстрактный
Пространство имён: Cake\ORM
Миксин: \Cake\ORM\Table
Расположение: ORM/Association.php

Резюме констант

  • 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'
  • string

    STRATEGY_SUBQUERY
    'subquery'

Резюме свойств

  • $_bindingKey protected
    string|array
    Имя поля в таблице владельца, которое используется для сопоставления с внешним ключом
  • $_cascadeCallbacks protected
    boolean
    Должны ли также срабатывать обратные вызовы при каскадном удалении?
  • $_className protected
    string
    Имя класса объекта целевой таблицы
  • $_conditions protected
    array|callable

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

  • $_dependent protected
    boolean

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

  • $_finder protected
    string|array

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

  • $_foreignKey protected
    string|array
    Имя поля, представляющего внешний ключ к таблице для загрузки
  • $_joinType protected
    string
    Тип соединения, который необходимо использовать при добавлении отношения к запросу
  • $_name protected
    string

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

  • $_propertyName protected
    string

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

  • $_sourceTable protected
    Cake\ORM\Table
    Экземпляр исходной таблицы
  • $_strategy protected
    string

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

  • $_targetTable protected
    Cake\ORM\Table
    Экземпляр целевой таблицы
  • $_validStrategies protected
    array
    Допустимые стратегии для этого отношения. Подклассы могут сузить этот список.

Наследованные свойства

  • _tableLocator

Резюме методов

  • __call() public
    Замещает вызовы методов на целевую таблицу.
  • __construct() public

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

  • __get() public

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

  • __isset() public

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

  • _appendFields() protected

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

  • _appendNotMatching() protected

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

  • _bindNewAssociations() protected

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

  • _dispatchBeforeFind() protected

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

  • _extractFinder() protected
    Вспомогательный метод для вывода запрошенного поиска и его параметров.
  • _formatAssociationResults() protected

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

  • _getClassName() protected
    Получает имя класса таблицы.
  • _joinCondition() protected

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

  • _options() protected

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

  • _propertyName() protected
    Возвращает имя свойства по умолчанию, основанное на имени ассоциации.
  • attachTo() public

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

  • bindingKey() public deprecated

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

  • canBeJoined() public
    Можно ли эту ассоциацию выразить напрямую в соединении запроса
  • cascadeCallbacks() public deprecated

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

  • cascadeDelete() abstract public
    Обрабатывает каскадное удаление из связанной модели.
  • className() public deprecated
    Имя класса объекта целевой таблицы
  • conditions() public deprecated

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

  • defaultRowValue() public

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

  • deleteAll() public
    Замещает операцию удаления методом deleteAll целевой таблицы
  • dependent() public deprecated
    Устанавливает, зависят ли записи в целевой таблице от таблицы источника.
  • eagerLoader() abstract public

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

  • exists() public

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

  • find() public

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

  • finder() public deprecated

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

  • foreignKey() public deprecated

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

  • getBindingKey() public

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

  • getCascadeCallbacks() public
    Получает, должны ли также срабатывать обратные вызовы при каскадном удалении.
  • getClassName() public
    Получает имя класса объекта целевой таблицы.
  • getConditions() public

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

  • getDependent() public
    Устанавливает, зависят ли записи в целевой таблице от таблицы источника.
  • getFinder() public
    Получает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
  • getForeignKey() public
    Получает имя поля, представляющего внешний ключ в целевой таблице.
  • getJoinType() public
    Получает тип соединения, который необходимо использовать при добавлении ассоциации в запрос.
  • getName() public

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

  • getProperty() public

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

  • getSource() public
    Получает экземпляр таблицы для стороны источника ассоциации.
  • getStrategy() public

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

  • getTarget() public
    Получает экземпляр таблицы для целевой стороны ассоциации.
  • isOwningSide() abstract public

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

  • joinType() общедоступный устаревший

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

  • name() общедоступный устаревший
    Устанавливает имя этой ассоциации.
  • property() общедоступный устаревший

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

  • requiresKeys() общедоступный

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

  • saveAssociated() абстрактный общедоступный

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

  • setBindingKey() общедоступный

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

  • setCascadeCallbacks() общедоступный
    Устанавливает, будут ли срабатывать обратные вызовы при каскадных удалениях.
  • setClassName() общедоступный
    Устанавливает имя класса объекта целевой таблицы.
  • setConditions() общедоступный

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

  • setDependent() общедоступный
    Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
  • setFinder() общедоступный
    Устанавливает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
  • setForeignKey() общедоступный
    Устанавливает имя поля, представляющего внешний ключ к целевой таблице.
  • setJoinType() общедоступный
    Устанавливает тип соединения, используемого при добавлении ассоциации в запрос.
  • setName() общедоступный

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

  • setProperty() общедоступный

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

  • setSource() общедоступный
    Устанавливает экземпляр таблицы для исходной стороны ассоциации.
  • setStrategy() общедоступный

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

  • setTarget() общедоступный
    Устанавливает экземпляр таблицы для целевой стороны ассоциации.
  • source() общедоступный устаревший

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

  • strategy() общедоступный устаревший

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

  • target() общедоступный устаревший

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

  • transformRow() общедоступный

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

  • type() абстрактный общедоступный
    Получить тип отношения.
  • updateAll() общедоступный
    Делегирует операцию обновления методу updateAll целевой таблицы

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

__call()source общедоступный

__call( string $method , array $argument )

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

Параметры

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

Возвращает

mixed

Выбрасывает

BadMethodCallException

__construct()source общедоступный

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

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

Параметры

строка $alias
Имя ассоциации
массив $options необязательный []
Список свойств, которые необходимо установить для этого объекта

__get()source общедоступный

__get( string $property )

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

Параметры

строка $property
имя свойства

Возвращает

Cake\ORM\Association

Выбрасывает

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

__isset()source общедоступный

__isset( string $property )

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

Параметры

строка $property
имя свойства

Возвращает

boolean
true, если свойство существует

_appendFields()source защищенный

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

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

Параметры

Cake\ORM\Query $query
запрос, к которому будут добавлены поля
Cake\ORM\Query $surrogate
запрос, содержащий поля, которые нужно скопировать
массив $options
параметры, переданные методу attachTo

_appendNotMatching()source защищенный

_appendNotMatching( Cake\Datasource\QueryInterface $query , array $options )

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

Параметры

Cake\Datasource\QueryInterface $query
запрос для изменения
массив $options
Массив параметров, содержащий ключ negateMatch.

_bindNewAssociations()source защищенный

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

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

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

Параметры

Cake\ORM\Query $query
запрос, к которому будут добавлены ассоциации
Cake\ORM\Query $surrogate
запрос, содержащий содержащиеся ассоциации, которые нужно присоединить
массив $options
параметры, переданные методу attachTo

_dispatchBeforeFind()source protected

_dispatchBeforeFind( Cake\ORM\Query $query )

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

Параметры

Cake\ORM\Query $query
запрос, к которому присоединяется данная ассоциация

_extractFinder()source protected

_extractFinder( string|array $finderData )

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

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

Примеры:

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

Параметры

строка|массив $finderData

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

Возвращает

массив

_formatAssociationResults()source protected

_formatAssociationResults( Cake\ORM\Query $query , Cake\ORM\Query $surrogate , array $options )

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

Параметры

Cake\ORM\Query $query
запрос, к которому будет применена функция форматирования
Cake\ORM\Query $surrogate

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

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

_getClassName()source protected

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

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

Параметры

строка $alias
Имя псевдонима, которое нужно получить.
массив $options optional []
Массив параметров таблицы.

Возвращает

строка

_joinCondition()source protected

_joinCondition( array $options )

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

Параметры

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

Возвращает

массив

Исключения

RuntimeException

если количество столбцов в foreignKey не соответствует количеству столбцов в primaryKey исходной таблицы


_options()source protected

_options( array $options )

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

Параметры

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

_propertyName()source protected

_propertyName( )

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

Возвращает

строка

attachTo()source public

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

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

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

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

Параметры

Cake\ORM\Query $query
запрос, который нужно изменить, чтобы включить данные целевой таблицы
массив $options optional []
Дополнительные параметры или переопределения, которые нужно учитывать

Исключения

RuntimeException

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


bindingKey()source public deprecated

bindingKey( string|null $key = null )

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

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

Устарело

3.4.0 Используйте setBindingKey()/getBindingKey() вместо этого.

Параметры

строка|null $key optional null
поле таблицы, используемое для связи обеих таблиц

Возвращает

строка|массив

canBeJoined()source public

canBeJoined( array $options = [] )

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

Параметры

массив $options optional []
настраиваемый ключ параметров, который может изменить возвращаемое значение

Возвращает

boolean

cascadeCallbacks()source public deprecated

cascadeCallbacks( boolean|null $cascadeCallbacks = null )

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

Устарело

3.4.0 Используйте setCascadeCallbacks()/getCascadeCallbacks() вместо этого.

Параметры

boolean|null $cascadeCallbacks optional null
значение переключателя каскадных обратных вызовов

Возвращает

boolean

cascadeDelete()source abstract public

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

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

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

Параметры

Cake\Datasource\EntityInterface $entity
сущность, которая инициировала каскадное удаление.
массив $options optional []
параметры исходного удаления.

Возвращает

boolean
Успешно

className()source public deprecated

className( )

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

Устарело

3.7.0 Используйте getClassName() вместо этого.

Возвращает

строка

conditions()source public deprecated

conditions( array|null $conditions = null )

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

Устарело

3.4.0 Используйте setConditions()/getConditions() вместо этого.

Параметры

массив|null $conditions optional null
список условий для использования

Возвращает

массив|вызов функции

См. также

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

defaultRowValue()source public

defaultRowValue( array $row , boolean $joined )

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

Параметры

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

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

Возвращает

массив

deleteAll()source public

deleteAll( mixed $conditions )

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

Параметры

смешанный $conditions

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

Возвращает

целое число
Возвращает количество изменённых строк.

См. также

\Cake\ORM\Table::deleteAll()

dependent()source public устарело

dependent( boolean|null $dependent = null )

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

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

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

Устарело

3.4.0 Используйте setDependent()/getDependent() вместо этого.

Параметры

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

Возвращает

булево

eagerLoader()source абстрактный public

eagerLoader( array $options )

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

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

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

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

  • запрос: объект Query, настроенный для поиска записей исходной таблицы
  • ключи: список значений первичных ключей из исходной таблицы
  • foreignKey: имя поля, используемого для связи обеих таблиц
  • условия: список условий, которые будут переданы методу where() запроса
  • сортировка: направление, в котором должны возвращаться записи
  • поля: список полей для выбора из целевой таблицы
  • включить: список связанных таблиц для жадной загрузки, связанных с целевой таблицей
  • стратегия: имя стратегии для использования при поиске записей целевой таблицы
  • nestKey: ключ массива, под которым будут найдены результаты при преобразовании строки

Параметры

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

Возвращает

Замыкание

exists()source public

exists( array|callable|Cake\Database\ExpressionInterface $conditions )

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

Параметры

массив|вызываемый объект|Cake\Database\ExpressionInterface $conditions

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

Возвращает

булево

См. также

\Cake\ORM\Table::exists()

find()source public

find( string|array|null $type = null , array $options = [] )

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

Параметры

строка|массив|null $type необязательно null

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

массив $options необязательно []
Опции для поиска

Возвращает

Cake\ORM\Query

См. также

\Cake\ORM\Table::find()

finder()source public устарело

finder( string|null $finder = null )

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

Устарело

3.4.0 Используйте setFinder()/getFinder() вместо этого.

Параметры

строка|null $finder необязательно null
имя поиска для использования

Возвращает

строка|массив

foreignKey()source public устарело

foreignKey( string|null $key = null )

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

Устарело

3.4.0 Используйте setForeignKey()/getForeignKey() вместо этого.

Параметры

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

Возвращает

строка|массив

getBindingKey()source public

getBindingKey( )

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

Возвращает

строка|массив

getCascadeCallbacks()source public

getCascadeCallbacks( )

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

Возвращает

булево

getClassName()source public

getClassName( )

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

Возвращает

строка

getConditions()source public

getConditions( )

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

Возвращает

массив|вызываемый объект

См. также

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

getDependent()source public

getDependent( )

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

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

Возвращает

булево

getFinder()source public

getFinder( )

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

Возвращает

строка|массив

getForeignKey()source public

getForeignKey( )

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

Возвращает

строка|массив

getJoinType()source public

getJoinType( )

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

Возвращает

строка

getName()source public

getName( )

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

Возвращает

строка
END_OF_DOCUMENT_MARKER

getProperty()source public

getProperty( )

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

Возвращает

string

getSource()source public

getSource( )

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

Возвращает

Cake\ORM\Table

getStrategy()source public

getStrategy( )

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

Возвращает

string

getTarget()source public

getTarget( )

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

Возвращает

Cake\ORM\Table

isOwningSide()source abstract public

isOwningSide( Cake\ORM\Table $side )

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

Параметры

Cake\ORM\Table $side
Возможная таблица с владение

Возвращает

boolean

joinType()source public deprecated

joinType( string|null $type = null )

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

Устарело

3.4.0 Используйте setJoinType()/getJoinType() вместо этого.

Параметры

string|null $type необязательно null
тип соединения (например, INNER)

Возвращает

string

name()source public deprecated

name( string|null $name = null )

Устанавливает имя для этой ассоциации.

Устарело

3.4.0 Используйте setName()/getName() вместо этого.

Параметры

string|null $name необязательно null
Назначаемое имя

Возвращает

string

property()source public deprecated

property( string|null $name = null )

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

Устарело

3.4.0 Используйте setProperty()/getProperty() вместо этого.

Параметры

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

Возвращает

string

requiresKeys()source public

requiresKeys( array $options = [] )

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

Параметры

array $options необязательно []
Параметры, содержащие используемую стратегию.

Возвращает

boolean
true, если требуется список ключей

saveAssociated()source abstract public

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

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

Параметры

Cake\Datasource\EntityInterface $entity
сохраняемые данные
array $options необязательно []
Параметры для сохранения связанных данных.

Возвращает

boolean|Cake\Datasource\EntityInterface

false, если $entity не удалось сохранить, в противном случае возвращает сохранённую сущность


См. также

\Cake\ORM\Table::save()

setBindingKey()source public

setBindingKey( string|array $key )

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

Параметры

string|array $key
поле или поля таблицы, используемые для связи обеих таблиц

Возвращает


$this

setCascadeCallbacks()source public

setCascadeCallbacks( boolean $cascadeCallbacks )

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

Параметры

boolean $cascadeCallbacks
значение переключателя каскадных вызовов

Возвращает


$this

setClassName()source public

setClassName( string $className )

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

Параметры

string $className
Устанавливаемое имя класса.

Возвращает


$this

Исключения

InvalidArgumentException

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


setConditions()source public

setConditions( array|callable $conditions )

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

Параметры

array|callable $conditions
Список используемых условий

Возвращает


$this

См. также

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

setDependent()source public

setDependent( boolean $dependent )

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

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

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

Параметры

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

Возвращает


$this

setFinder()source public

setFinder( string|array $finder )

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

Параметры

string|array $finder
имя используемого поиска или массив из имени поиска и параметра.

Возвращает


$this

setForeignKey()source public

setForeignKey( string|array $key )

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

Параметры

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

Возвращает


$this

setJoinType()source public

setJoinType( string $type )

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

Параметры

string $type
тип соединения (например, INNER)

Возвращает


$this
END_OF_DOCUMENT_MARKER

setName()source public

setName( string $name )

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

Параметры

string $name
Назначаемое имя

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


$this

setProperty()source public

setProperty( string $name )

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

Параметры

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

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


$this

setSource()source public

setSource( Cake\ORM\Table $table )

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

Параметры

Cake\ORM\Table $table
экземпляр, который будет назначен как исходная сторона

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


$this

setStrategy()source public

setStrategy( string $name )

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

Параметры

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

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


$this

Исключения

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

setTarget()source public

setTarget( Cake\ORM\Table $table )

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

Параметры

Cake\ORM\Table $table
экземпляр, который будет назначен как целевая сторона

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


$this

source()source public deprecated

source( Cake\ORM\Table $table = null )

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

Устарело

3.4.0 Используйте setSource()/getSource() вместо этого.

Параметры

Cake\ORM\Table $table необязательно null
экземпляр, который будет назначен как исходная сторона

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

Cake\ORM\Table

strategy()source public deprecated

strategy( string|null $name = null )

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

Устарело

3.4.0 Используйте setStrategy()/getStrategy() вместо этого.

Параметры

string|null $name необязательно null
Тип стратегии. Использование null для чтения текущего значения.

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

string

Исключения

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

target()source public deprecated

target( Cake\ORM\Table $table = null )

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

Устарело

3.4.0 Используйте setTarget()/getTarget() вместо этого.

Параметры

Cake\ORM\Table $table необязательно null
экземпляр, который будет назначен как целевая сторона

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

Cake\ORM\Table

transformRow()source public

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

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

Параметры

array $row
Строка для преобразования
string $nestKey

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

boolean $joined

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

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

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

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

array

type()source abstract public

type( )

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

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

string
Константа любого из ONE_TO_ONE, MANY_TO_ONE, ONE_TO_MANY или MANY_TO_MANY.

updateAll()source public

updateAll( array $fields , mixed $conditions )

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

Параметры

array $fields
Хэш поля => новое значение.
mixed $conditions

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

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

integer
Счёт Возвращает количество затронутых строк.

См. также

\Cake\ORM\Table::updateAll()

Методы, используемые из Cake\Core\ConventionsTrait

_camelize()source protected

_camelize( string $name )

Создает версию $name с применением регистровой записи camelCase

Параметры

string $name
имя

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

string
Имя с регистровой записью camelCase

_entityName()source protected

_entityName( string $name )

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

Параметры

string $name
Имя

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

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

_fixtureName()source protected

_fixtureName( string $name )

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

Параметры

string $name
Имя класса модели

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

string
Ключ модели в единственном числе

_modelKey()source protected

_modelKey( string $name )

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

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

Параметры

string $name
Имя класса модели

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

string
Ключ модели в единственном числе

_modelNameFromKey()source protected

_modelNameFromKey( string $key )

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

Параметры

string $key
Внешний ключ

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

string
Имя модели

_pluginNamespace()source protected

_pluginNamespace( string $pluginName )

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

Параметры

string $pluginName
Имя плагина

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

string
Пространство имен плагина

_pluginPath()source protected

_pluginPath( string $pluginName )

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

Параметры

строка $pluginName
Имя плагина, который вы хотите, например, DebugKit

Возвращает

строка
путь путь к нужному плагину.

_pluralHumanName()source protected

_pluralHumanName( string $name )

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

Параметры

строка $name
Имя контроллера

Возвращает

строка
Множественное число человекочитаемого имени

_singularHumanName()source protected

_singularHumanName( string $name )

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

Параметры

строка $name
Имя контроллера

Возвращает

строка
Единственное число человекочитаемого имени

_singularName()source protected

_singularName( string $name )

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

Параметры

строка $name
Используемое имя

Возвращает

строка
Имя переменной

_variableName()source protected

_variableName( string $name )

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

Параметры

строка $name
Используемое имя

Возвращает

строка
Множественное число имени для представлений

Методы, используемые из Cake\ORM\Locator\LocatorAwareTrait

getTableLocator()source public

getTableLocator( )

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

Возвращает

Cake\ORM\Locator\LocatorInterface

setTableLocator()source public

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

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

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator
Экземпляр LocatorInterface.

Возвращает


$this

tableLocator()source public deprecated

tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator = null )

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

Устаревшее

3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator опционально null
Экземпляр LocatorInterface.

Возвращает

Cake\ORM\Locator\LocatorInterface

Подробности свойств

$_bindingKeysource

protected строка|массив

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

$_cascadeCallbackssource

protected логическое значение

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

false

$_classNamesource

protected строка

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

$_conditionssource

protected массив|вызываемый объект

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

[]

$_dependentsource

protected логическое значение

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

false

$_findersource

protected строка|массив

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

'all'

$_foreignKeysource

protected строка|массив

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

$_joinTypesource

protected строка

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

Cake\ORM\QueryInterface::JOIN_TYPE_LEFT

$_namesource

protected строка

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

$_propertyNamesource

protected строка

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

$_sourceTablesource

protected Cake\ORM\Table

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

$_strategysource

protected строка

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

self::STRATEGY_JOIN

$_targetTablesource

protected Cake\ORM\Table

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

$_validStrategiessource

protected массив

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

[
    self::STRATEGY_JOIN,
    self::STRATEGY_SELECT,
    self::STRATEGY_SUBQUERY
]

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

Spec-Zone.ru

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