Spec-Zone.ru › CakePHP 3.3

Трейт ExternalAssociationTrait

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

Cake\ORM\Association\ExternalAssociationTrait использует Cake\ORM\Association\SelectableAssociationTrait

Прямые пользователи

  • Cake\ORM\Association\BelongsToMany
  • Cake\ORM\Association\HasMany
Пространство имён: Cake\ORM\Association
Расположение: ORM/Association/ExternalAssociationTrait.php

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

  • $_sort protected
    mixed
    Порядок, в котором должны возвращаться целевые записи

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

  • _buildResultMap() protected
  • _defaultOptions() protected
    Возвращает значения по умолчанию для eagerLoader
  • _options() protected
    Обработка дополнительных параметров, переданных в конструктор.
  • canBeJoined() public
    Можно ли выразить эту ассоциацию напрямую в соединении запроса
  • defaultRowValue() public
  • foreignKey() public

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

  • sort() public

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

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

_buildResultMap()source protected

_buildResultMap( $fetchQuery , $options )

_defaultOptions()source protected

_defaultOptions( )

Возвращает значения по умолчанию для eagerLoader

Возвращает

array

_options()source protected

_options( array $opts )

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

Параметры

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

canBeJoined()source public

canBeJoined( array $options [] )

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

Параметры

массив $options необязательно []
ключ пользовательских параметров, которые могут изменить возвращаемое значение

Возвращает

boolean

если ключ 'matching' в $option имеет значение true, то эта функция вернёт true, в противном случае - false


defaultRowValue()source public

defaultRowValue( $row , $joined )

foreignKey()source public

foreignKey( string|null $key null )

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

Параметры

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

Возвращает

строка

sort()source public

sort( mixed $sort null )

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

Параметры

смешанное $sort необязательно null
условие сортировки совместимое с find()

Возвращает

смешанное

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

_addFilteringCondition()source protected

_addFilteringCondition( Cake\ORM\Query $query , string|array $key , mixed $filter )

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

Параметры

Cake\ORM\Query $query
запрос целевой таблицы
строка|массив $key
поля, используемые для фильтрации
смешанное $filter
значение, используемое для соответствия $key

Возвращает

Cake\ORM\Query

_addFilteringJoin()source public

_addFilteringJoin( Cake\ORM\Query $query , string $key , Cake\ORM\Query $subquery )

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

Параметры

Cake\ORM\Query $query
запрос целевой таблицы
строка $key
поля, используемые для фильтрации
Cake\ORM\Query $subquery
Подзапрос для фильтрации

Возвращает

Cake\ORM\Query

_assertFieldsPresent()source protected

_assertFieldsPresent( Cake\ORM\Query $fetchQuery , array $key )

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

Параметры

Cake\ORM\Query $fetchQuery
запрос на извлечение ассоциации
массив $key
поля внешнего ключа для проверки

Исключения

InvalidArgumentException

_buildQuery()source protected

_buildQuery( array $options )

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

Параметры

массив $options
параметры, принимаемые eagerLoader()

Возвращает

Cake\ORM\Query

Исключения

InvalidArgumentException
При необходимости ключа для ассоциации, но он не выбран.

_buildSubquery()source protected

_buildSubquery( Cake\ORM\Query $query )

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

Параметры

Cake\ORM\Query $query
исходный запрос, используемый для загрузки записей из исходной таблицы

Возвращает

Cake\ORM\Query

_createTupleCondition()source protected

_createTupleCondition( Cake\ORM\Query $query , array $keys , mixed $filter , string $operator )

Возвращает объект TupleComparison, который может использоваться для сопоставления всех полей из $keys со значениями кортежа в $filter с использованием предоставленного оператора.

Параметры

Cake\ORM\Query $query
запрос целевой таблицы
массив $keys
поля, используемые для фильтрации
смешанное $filter
значение, используемое для соответствия $key
строка $operator
Оператор для сравнения кортежей

Возвращает

Cake\Database\Expression\TupleComparison
END_OF_DOCUMENT_MARKER

_linkField()source abstract protected

_linkField( array $options )

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

Параметры

массив $options
Параметры для получения поля связи.

Возвращает

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

_multiKeysInjector()source protected

_multiKeysInjector( array $resultMap , array $sourceKeys , string $nestKey )

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

Параметры

массив $resultMap
Массив с индексированными значениями целевой таблицы
массив $sourceKeys
Массив с алиасами ключей для соответствия
строка $nestKey
Ключ, под которым результаты должны быть вложены

Возвращает

Замыкание

_resultInjector()source protected

_resultInjector( Cake\ORM\Query $fetchQuery , array $resultMap , array $options )

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

Параметры

Cake\ORM\Query $fetchQuery
Запрос, используемый для получения результатов
массив $resultMap

Массив с внешним ключом в качестве ключей и соответствующими результатами целевой таблицы в качестве значения.

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

Возвращает

Замыкание

_subqueryFields()source protected

_subqueryFields( Cake\ORM\Query $query )

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

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

Параметры

Cake\ORM\Query $query
Запрос для получения полей.

Возвращает

массив
Список полей для подзапроса.

eagerLoader()source public

eagerLoader( array $options )

requiresKeys()source public

requiresKeys( array $options [] )

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

Параметры

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

Возвращает

логическое значение
true, если потребуется список ключей

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

$_sortsource

protected смешанный

Порядок, в котором должны возвращаться целевые записи

© 2005–2017 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.3/class-Cake.ORM.Association.ExternalAssociationTrait.html

Spec-Zone.ru

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