Spec-Zone.ru › CakePHP 3.5

Класс 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
    Имя поля в таблице владельца, используемого для сопоставления с foreignKey
  • $_cascadeCallbacks protected
    boolean
    Необходимо ли вызывать обратные вызовы при каскадных удалениях.
  • $_className protected
    string
    Имя класса объекта целевой таблицы
  • $_conditions protected
    array|callable

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

  • $_dependent protected
    boolean

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

  • $_finder protected
    string
    Имя по умолчанию для нахождения строк в целевой таблице
  • $_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

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

  • _options() protected

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

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

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

  • bindingKey() public

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

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

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

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

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

  • defaultRowValue() public

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

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

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

  • exists() public

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

  • find() public

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

  • finder() public

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

  • foreignKey() public

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

  • getBindingKey() public

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

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

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

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

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

  • getProperty() public

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

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

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

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

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

  • joinType() public

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

  • name() public
    Устанавливает имя для этой ассоциации.
  • property() public

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

  • requiresKeys() public

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

  • saveAssociated() abstract public

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

  • setBindingKey() public

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

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

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

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

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

  • setProperty() public

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

  • setSource() public
    Устанавливает экземпляр таблицы для стороны-источника ассоциации.
  • setStrategy() public

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

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

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

  • strategy() public

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

  • target() public

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

  • transformRow() public

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

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

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

__call()source public

__call( string $method , array $argument )

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

Параметры

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

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

mixed

Исключения

BadMethodCallException

__construct()source public

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

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

Параметры

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

__get()source public

__get( string $property )

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

Параметры

string $property
имя свойства

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

Cake\ORM\Association

Исключения

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

__isset()source public

__isset( string $property )

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

Параметры

string $property
имя свойства

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

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

_appendFields()source protected

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

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

Параметры

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

_appendNotMatching()source protected

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

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

Параметры

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

_bindNewAssociations()source protected

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

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

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

Параметры

Cake\ORM\Query $query
запрос, к которому будут присоединены ассоциации
Cake\ORM\Query $surrogate
запрос, содержащий содержащиеся элементы, которые необходимо присоединить
array $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']]]]]);

Параметры

string|array $finderData

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

Возвращает

array

_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

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

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

_getClassName()source protected

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

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

Параметры

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

Возвращает

string

_joinCondition()source protected

_joinCondition( array $options )

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

Параметры

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

Возвращает

array

Вызывает исключение

RuntimeException

если количество столбцов в foreignKey не соответствует количеству столбцов в первичном ключе source таблицы


_options()source protected

_options( array $options )

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

Параметры

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

_propertyName()source protected

_propertyName( )

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

Возвращает

string

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
запрос, который будет изменен для включения данных целевой таблицы
array $options optional []
Дополнительные параметры или замены, которые нужно учесть

Вызывает исключение

RuntimeException

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


bindingKey()source public

bindingKey( string|null $key null )

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

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

Устарело

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

Параметры

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

Возвращает

string|array

canBeJoined()source public

canBeJoined( array $options [] )

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

Параметры

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

Возвращает

boolean

cascadeCallbacks()source public

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
сущность, которая инициировала каскадное удаление.
array $options optional []
параметры исходного удаления.

Возвращает

boolean
Успех

className()source public

className( )

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

Возвращает

string

conditions()source public

conditions( array|null $conditions null )

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

Устарело

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

Параметры

array|null $conditions optional null
список условий, которые следует использовать

Возвращает

array

См. также

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

defaultRowValue()source public

defaultRowValue( array $row , boolean $joined )

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

Параметры

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

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

Возвращает

array
END_OF_DOCUMENT_MARKER

deleteAll()source public

deleteAll( mixed $conditions )

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

Параметры

mixed $conditions

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

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

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

См. также

\Cake\ORM\Table::deleteAll()

dependent()source public

dependent( boolean|null $dependent null )

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

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

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

Устарело

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

Параметры

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

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

boolean

eagerLoader()source abstract public

eagerLoader( array $options )

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

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

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

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

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

Параметры

array $options
Параметры для eager-загрузки.

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

Closure

exists()source public

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

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

Параметры

array|callable|Cake\Database\ExpressionInterface $conditions

Условия для проверки соответствия записей.

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

boolean

См. также

\Cake\ORM\Table::exists()

find()source public

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

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

Параметры

string|array|null $type optional null

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

array $options optional []
Параметры для поиска.

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

Cake\ORM\Query

См. также

\Cake\ORM\Table::find()

finder()source public

finder( string|null $finder null )

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

Устарело

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

Параметры

string|null $finder optional null
имя finder

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

string

foreignKey()source public

foreignKey( string|null $key null )

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

Устарело

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

Параметры

string|null $key optional null
ключ для связи обеих таблиц

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

string|array

getBindingKey()source public

getBindingKey( )

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

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

string|array

getCascadeCallbacks()source public

getCascadeCallbacks( )

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

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

boolean

getConditions()source public

getConditions( )

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

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

array|callable

См. также

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

getDependent()source public

getDependent( )

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

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

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

boolean

getFinder()source public

getFinder( )

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

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

string

getForeignKey()source public

getForeignKey( )

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

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

string|array

getJoinType()source public

getJoinType( )

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

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

string

getName()source public

getName( )

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

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

string

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

joinType( string|null $type null )

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

Устарело

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

Параметры

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

Возвращает

string

name()source public

name( string|null $name null )

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

Устарело

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

Параметры

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

Возвращает

string

property()source public

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

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 $finder )

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

Параметры

string $finder
имя используемого поиска

Возвращает


$this

setForeignKey()source public

setForeignKey( string|array $key )

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

Параметры

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

Возвращает


$this

setJoinType()source public

setJoinType( string $type )

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

Параметры

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

Возвращает


$this

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 )

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

Параметры

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

Возвращает


$this

Исключения

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

setTarget()source public

setTarget( Cake\ORM\Table $table )

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

Параметры

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

Возвращает


$this

source()source public

source( Cake\ORM\Table $table null )

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

Устарело

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

Параметры

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

Возвращает

Cake\ORM\Table

strategy()source public

strategy( string|null $name null )

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

Устарело

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

Параметры

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

Возвращает

строка

Исключения

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

target()source public

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 )

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

Параметры

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

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

булево $joined

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

строка|null $targetProperty необязательно null

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

Возвращает

массив

type()source abstract public

type( )

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

Возвращает

строка
Константа типа ONE_TO_ONE, MANY_TO_ONE, ONE_TO_MANY или MANY_TO_MANY.

updateAll()source public

updateAll( array $fields , mixed $conditions )

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

Параметры

массив $fields
Хэш поля => нового значения.
смешанный $conditions

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

Возвращает

целое число
Количество возвращает количество затронутых строк.

См. также

\Cake\ORM\Table::updateAll()

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

_camelize()source protected

_camelize( string $name )

Создаёт версию $name с использованием camelCase.

Параметры

строка $name
имя

Возвращает

строка
Имена с использованием camelCase

_entityName()source protected

_entityName( string $name )

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

Параметры

строка $name
Имя

Возвращает

строка
Именованный и множественный модель

_fixtureName()source protected

_fixtureName( string $name )

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

Параметры

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

Возвращает

строка
Ключ модели в единственном числе

_modelKey()source protected

_modelKey( string $name )

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

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

Параметры

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

Возвращает

строка
Ключ модели в единственном числе

_modelNameFromKey()source protected

_modelNameFromKey( string $key )

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

Параметры

строка $key
Внешний ключ

Возвращает

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

_pluginNamespace()source protected

_pluginNamespace( string $pluginName )

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

Параметры

строка $pluginName
Имя плагина

Возвращает

строка
Пространство имён плагина

_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
Имя для использования

Возвращает

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

_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

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–2018 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.5/class-Cake.ORM.Association.html

Spec-Zone.ru

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