Трейт 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
Возвращает
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_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, если потребуется список ключей
Подробное описание свойств
© 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