Spec-Zone.ru › CakePHP 3.3

Трейт SelectableAssociationTrait

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

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

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

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

  • _addFilteringCondition() protected

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

  • _addFilteringJoin() public

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

  • _assertFieldsPresent() protected

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

  • _buildQuery() protected

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

  • _buildResultMap() abstract protected

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

  • _buildSubquery() protected

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

  • _createTupleCondition() protected

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

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

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

  • _multiKeysInjector() protected

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

  • _resultInjector() protected

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

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

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

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

_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

_assertFieldsPresent()source protected

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

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

Параметры

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

Исключения

InvalidArgumentException

_buildQuery()source protected

_buildQuery( array $options )

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

Возвращает

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 необязательно []
Параметры, содержащие используемую стратегию.

Возвращает

логическое
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.SelectableAssociationTrait.html

Spec-Zone.ru

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