Spec-Zone.ru › CakePHP 3.2

Трейт SelectableAssociationTrait

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

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

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

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

  • _addFilteringCondition() protected

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

  • _addFilteringJoin() public

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

  • _buildQuery() protected

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

  • _buildResultMap() abstract protected

    Строит массив, содержащий результаты из fetchQuery, индексированные значением foreignKey, соответствующим данной ассоциации.

  • _buildSubquery() protected

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

  • _createTupleCondition() protected

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

  • _defaultOptions() protected
    Возвращает значения по умолчанию для eagerLoader
  • _linkField() abstract protected

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

  • _multiKeysInjector() protected

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

  • _resultInjector() protected

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

  • _subqueryFields() protected
    Рассчитывает поля, которые должны участвовать в подзапросе.
  • eagerLoader() public
  • requiresKeys() public

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

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

_addFilteringCondition()source protected

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

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

Параметры

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

Возвращает

Cake\ORM\Query

_addFilteringJoin()source public

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

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

Параметры

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

Возвращает

Cake\ORM\Query

_buildQuery()source protected

_buildQuery( array $options )

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

Параметры

array $options
опции, принимаемые eagerLoader()

Возвращает

Cake\ORM\Query

Исключения

InvalidArgumentException
Когда для ассоциаций требуется ключ, но он не выбран.

_buildResultMap()source abstract protected

_buildResultMap( Cake\ORM\Query $fetchQuery , array $options )

Строит массив, содержащий результаты из fetchQuery, индексированные значением foreignKey, соответствующим данной ассоциации.

Параметры

Cake\ORM\Query $fetchQuery
Запрос для получения результатов
array $options
Опции, переданные в eager loader

Возвращает

array

_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
Запрос целевой таблицы
array $keys
поля, которые должны использоваться для фильтрации
mixed $filter
значение, которое должно использоваться для соответствия $key
string $operator
Оператор для сравнения кортежей

Возвращает

Cake\Database\Expression\TupleComparison

_defaultOptions()source protected

_defaultOptions( )

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

Возвращает

array

_linkField()source abstract protected

_linkField( array $options )

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

Параметры

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

Возвращает

string|array
END_OF_DOCUMENT_MARKER

_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, если процесс жадной загрузки потребует набора связывающих ключей таблицы владельца для использования их в качестве фильтра в запросе поиска.

Параметры

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

Возвращает

булево
true, если список ключей потребуется

© 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.SelectableAssociationTrait.html

Spec-Zone.ru

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