Трейт ExternalAssociationTrait
Представляет тип ассоциации, который необходимо восстановить, выполнив дополнительный запрос.
- Cake\ORM\Association\ExternalAssociationTrait использует Cake\ORM\Association\SelectableAssociationTrait
Прямые известные пользователи
Cake\ORM\Association\BelongsToMany, Cake\ORM\Association\HasManyПодробное описание методов
_buildResultMapисходный код protected
_buildResultMap( mixed $fetchQuery , mixed $options )
_defaultOptionsисходный код protected
_defaultOptions( )
Возвращает параметры по умолчанию для использования с eagerLoader
Возвращает
arrayмассив
_optionsисходный код protected
_options( array $opts )
Парсит дополнительные параметры, переданные в конструктор.
Параметры
- массив
$opts - исходный список параметров, переданных в конструктор
canBeJoinedисходный код public
canBeJoined( array $options [] )
Можно ли выразить эту ассоциацию напрямую в объединении запроса?
Параметры
- массив
$optionsнеобязательно [] - ключ с пользовательскими параметрами, которые могут изменить возвращаемое значение
Возвращает
booleanесли ключ 'matching' в $option имеет значение true, то эта функция вернёт true, иначе false
defaultRowValueисходный код public
defaultRowValue( mixed $row , mixed $joined )
foreignKeyисходный код public
foreignKey( string|null $key null )
Устанавливает имя поля, представляющего внешний ключ для исходной таблицы. Если параметры не переданы, возвращается текущее поле.
Параметры
- строка|null
$keyнеобязательно null - ключ, используемый для связи обеих таблиц
Возвращает
stringстрока
sortисходный код public
sort( mixed $sort null )
Устанавливает порядок сортировки, в котором должны возвращаться целевые записи. Если аргументы не переданы, возвращается текущее значение.
Параметры
- смешанный
$sortнеобязательно null - оператор find() совместимый с порядком сортировки
Возвращает
mixedсмешанный
Методы, используемые из Cake\ORM\Association\SelectableAssociationTrait
_addFilteringConditionисходный код protected
_addFilteringCondition( Cake\ORM\Query $query , string|array $key , mixed $filter )
Добавляет любые условия, необходимые для загрузки соответствующего набора записей в целевой таблице запроса, заданные ключом фильтра и некоторыми значениями фильтрации.
Параметры
-
Cake\ORM\Query$query - запрос целевой таблицы
- строка|массив
$key - поля, которые должны использоваться для фильтрации
- смешанный
$filter - значение, которое должно быть использовано для соответствия $key
Возвращает
Cake\ORM\Query\Cake\ORM\Query
_addFilteringJoinисходный код public
_addFilteringJoin( Cake\ORM\Query $query , string $key , Cake\ORM\Query $subquery )
Добавляет любые условия, необходимые для загрузки соответствующего набора записей в целевой таблице запроса, заданные ключом фильтра и некоторыми значениями фильтрации, когда фильтрация должна выполняться с помощью подзапроса.
Параметры
-
Cake\ORM\Query$query - запрос целевой таблицы
- строка
$key - поля, которые должны использоваться для фильтрации
-
Cake\ORM\Query$subquery - подзапрос, используемый для фильтрации
Возвращает
Cake\ORM\Query\Cake\ORM\Query
_buildQueryисходный код protected
_buildQuery( array $options )
Вспомогательная функция для построения нового объекта Query, возвращающего все записи в целевой таблице, связанные с теми, которые указаны в $options из исходной таблицы.
Параметры
- массив
$options - параметры, принимаемые eagerLoader()
Возвращает
Cake\ORM\Query\Cake\ORM\Query
Исключения
InvalidArgumentExceptionПри необходимости ключа для ассоциаций, но он не выбран.
_buildSubqueryисходный код protected
_buildSubquery( Cake\ORM\Query $query )
Строит запрос, используемый в качестве условия для фильтрации записей в целевой таблице. Он создается путём клонирования исходного запроса, который использовался для загрузки записей в исходной таблице.
Параметры
-
Cake\ORM\Query$query - исходный запрос, используемый для загрузки исходных записей
Возвращает
Cake\ORM\Query\Cake\ORM\Query
_createTupleConditionисходный код 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\Cake\Database\Expression\TupleComparison
_linkFieldисходный код abstract protected
_linkField( array $options )
Генерирует строку, используемую в качестве поля таблицы, содержащую значения, на которых должен выполняться фильтр.
Параметры
- массив
$options - Параметры для получения поля связи.
Возвращает
string|arrayстрока|массив
_multiKeysInjectorисходный код protected
_multiKeysInjector( array $resultMap , array $sourceKeys , string $nestKey )
Возвращает вызываемый объект, используемый для каждой строки в наборе результатов запроса для вставки загруженных жадно строк, когда соответствие должно выполняться с несколькими внешними ключами.
Параметры
- массив
$resultMap - Массив с ключами, содержащий целевую таблицу
- массив
$sourceKeys - Массив с псевдонимизированными ключами для соответствия
- строка
$nestKey - Ключ, под которым результаты должны быть вложены
Возвращает
Closure\Closure
_resultInjectorисходный код protected
_resultInjector( Cake\ORM\Query $fetchQuery , array $resultMap , array $options )
Возвращает вызываемый объект, используемый для каждой строки в наборе результатов запроса для вставки загруженных жадно строк.
Параметры
-
Cake\ORM\Query$fetchQuery - запрос, используемый для получения результатов
- массив
$resultMap - массив с внешним ключом в качестве ключей и соответствующими результатами целевой таблицы в качестве значения.
- массив
$options - параметры, переданные методу eagerLoader
Возвращает
Closure\Closure
_subqueryFieldssource protected
_subqueryFields( Cake\ORM\Query $query )
Рассчитать поля, которые должны участвовать в подзапросе.
Обычно это включает столбцы ключей привязки. Если есть ORDER BY, эти столбцы также включаются, так как поля могут быть вычислены или являться константами, которые должны присутствовать, чтобы гарантировать загрузку правильных данных ассоциации.
Параметры
-
Cake\ORM\Query$query - Запрос для получения полей.
Возвращает
arrayСписок полей для подзапроса.
eagerLoadersource public
eagerLoader( array $options )
requiresKeyssource 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.1/class-Cake.ORM.Association.ExternalAssociationTrait.html