Трейт ExternalAssociationTrait
Представляет тип ассоциации, который необходимо восстановить, выполнив дополнительный запрос.
- Cake\ORM\Association\ExternalAssociationTrait использует Cake\ORM\Association\SelectableAssociationTrait
Прямые пользователи
Краткое описание свойств
-
$_sortprotectedПорядок, в котором должны возвращаться целевые записи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
Возвращает
массив_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(), совместимый с order
Возвращает
смешанныйМетоды, используемые из 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_buildQuery()source protected
_buildQuery( array $options )
Вспомогательная функция для построения нового объекта Query для возврата всех записей в целевой таблице, связанных с теми, которые указаны в $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_linkField()source abstract protected
_linkField( array $options )
Генерирует строку, используемую в качестве поля таблицы, содержащего значения, на которых должен применяться фильтр
Параметры
- массив
$options - Параметры для получения поля связи.
Возвращает
строка|массив_multiKeysInjector()source protected
_multiKeysInjector( array $resultMap , array $sourceKeys , string $nestKey )
Возвращает вызываемый объект, который используется для каждого ряда в наборе результатов запроса для вставки загруженных с жадностью строк, когда соответствие необходимо выполнить с несколькими внешними ключами
Параметры
- массив
$resultMap - Массив с ключами, содержащими целевую таблицу
- массив
$sourceKeys - Массив с алиасами ключей для соответствия
- строка
$nestKey - Ключ, под которым результаты должны быть вложены
Возвращает
Closure_resultInjector()source protected
_resultInjector( Cake\ORM\Query $fetchQuery , array $resultMap , array $options )
Возвращает вызываемый объект, который используется для каждой строки в наборе результатов запроса для вставки загруженных с жадностью строк
Параметры
-
Cake\ORM\Query$fetchQuery - Запрос, используемый для извлечения результатов
- массив
$resultMap Массив с внешними ключами в качестве ключей и соответствующими результатами целевой таблицы в качестве значений.
- массив
$options - Параметры, переданные методу eagerLoader
Возвращает
Closure_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, если процесс жадной загрузки потребует набор ключей связывания таблицы владельца для их использования в качестве фильтра в запросе нахождения.
Параметры
- массив
$optionsнеобязательно [] - Параметры, содержащие используемую стратегию.
Возвращает
booleantrue, если список ключей будет необходим
Подробности свойств
© 2005–2016 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.
http://api.cakephp.org/3.2/class-Cake.ORM.Association.ExternalAssociationTrait.html