Spec-Zone.ru › CakePHP 3.1

Трейт QueryTrait

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

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

Cake\ORM\Query
Пространство имен: Cake\Datasource
Расположение Datasource/QueryTrait.php

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

__callисточник public

__call( string $method , array $arguments )

Разрешает вызывать методы из набора результатов так, как будто они принадлежат этому классу

Параметры

строка $method
вызываемый метод
массив $arguments
список аргументов для вызываемого метода

Возвращает

mixed
смешанный тип

Выбрасывает

BadMethodCallException
если такой метод не существует в наборе результатов

_decorateResultsисточник protected

_decorateResults( Traversable $result )

Декорирует итератор результатов с помощью MapReduce и форматирования

Параметры

Traversable $result
Оригинальные результаты

Возвращает

Cake\Datasource\ResultSetInterface
\Cake\Datasource\ResultSetInterface

_decoratorClassисточник protected

_decoratorClass( )

Возвращает имя класса, используемого для декорирования результатов

Возвращает

string
строка

_executeисточник abstract protected

_execute( )

Выполняет запрос и возвращает объект-перечислитель, содержащий результаты

Возвращает

Traversable
\Перечислитель

aliasFieldисточник public

aliasField( string $field , string $alias null )

Возвращает массив ключ => значение, представляющий одно алиасноё поле, которое можно напрямую передать в метод select(). Ключ будет содержать псевдоним, а значение — фактическое имя поля.

Если поле уже имеет псевдоним, оно не будет изменено. Если $alias не передан, будет использована таблица по умолчанию для этого запроса.

Параметры

строка $field
Поле для присвоения псевдонима
строка $alias необязательно null
псевдоним, используемый для префикса поля

Возвращает

array
массив

aliasFieldsисточник public

aliasFields( array $fields , string|null $defaultAlias null )

Выполняет aliasField() для каждого поля в предоставленном списке и возвращает результат в одном массиве.

Параметры

массив $fields
Поля для присвоения псевдонимов
строка|null $defaultAlias необязательно null
Значение псевдонима по умолчанию

Возвращает

array
массив

allисточник public

all( )

Извлекает результаты для этого запроса.

Возвращает либо набор результатов через setResult(), либо выполняет этот запрос и возвращает объект ResultSetDecorator, готовый для потоковой передачи результатов.

ResultSetDecorator — это объект-перечислитель, реализующий методы из Cake\Collection\Collection.

Возвращает

Cake\Datasource\ResultSetInterface
\Cake\Datasource\ResultSetInterface

applyOptionsисточник abstract public

applyOptions( array $options )

Заполняет или добавляет части к текущим условиям запроса с помощью массива. Это удобно для передачи всех условий запроса сразу.

Параметры

массив $options
параметры, которые нужно применить

Возвращает

mixed
текущий объект

cacheисточник public

cache( false|string|Closure $key , string|Cake\Cache\CacheEngine $config 'default' )

Включить кэширование результатов для этого запроса.

Если кэширование запроса включено, при выполнении он будет делать следующее:

  • Проверить кэш на предмет $key. Если результаты есть, SQL не будет выполняться. Вместо этого будут возвращены кэшированные результаты.
  • Когда кэшированные данные устарели/отсутствуют, набор результатов будет кэширован по мере выполнения запроса.

Использование

// Simple string key + config
$query->cache('my_key', 'db_results');

// Function to generate key.
$query->cache(function ($q) {
  $key = serialize($q->clause('select'));
  $key .= serialize($q->clause('where'));
  return md5($key);
});

// Using a pre-built cache engine.
$query->cache('my_key', $engine);

// Disable caching
$query->cache(false);

Параметры

false|строка|Closure $key
Ключ кэша или функция для генерации ключа кэша. При использовании функции этот экземпляр запроса будет передан в качестве аргумента.
имя конфигурации кэша|экземпляр конфигурации кэша Cake\Cache\CacheEngine $config необязательно 'default'
Имя конфигурации кэша или экземпляр конфигурации кэша.

Возвращает

mixed
текущий экземпляр

eagerLoadedисточник public

eagerLoaded( boolean|null $value null )

Устанавливает экземпляр запроса в качестве загружаемого с помощью жадного поиска. Если аргумент не передан, возвращается текущее значение конфигурации запроса _eagerLoaded.

Параметры

булево|null $value необязательно null
Загружать с помощью жадного поиска или нет.

Возвращает

mixed
текущий экземпляр|Cake\ORM\Query

firstисточник public

first( )

Возвращает первый результат из выполнения этого запроса. Если запрос не был выполнен ранее, он установит условие limit в 1 для повышения производительности.

Пример:

$singleUser = $query->select(['id', 'username'])->first();

Возвращает

mixed
первый результат из набора результатов

firstOrFailисточник public

firstOrFail( )

Получить первый результат из выполняемого запроса или вызвать исключение.

Возвращает

mixed
Первый результат из набора результатов.

Выбрасывает

Cake\Datasource\Exception\RecordNotFoundException
Если первый записи нет.

formatResultsисточник public

formatResults( callable $formatter null , boolean|integer $mode 0 )

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

Функции-обработчики форматирования получат первый параметр, итератор, который можно перебирать и изменять по своему усмотрению.

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

Если первый аргумент установлен в null, он вернёт список ранее зарегистрированных процедур MapReduce.

Если второй аргумент установлен в true, он удалит предыдущие форматировщики и заменит их переданным первым аргументом.

Пример:

// Return all results from the table indexed by id
$query->select(['id', 'name'])->formatResults(function ($results) {
  return $results->indexBy('id');
});

// Add a new column to the ResultSet
$query->select(['name', 'birth_date'])->formatResults(function ($results) {
  return $results->map(function ($row) {
    $row['age'] = $row['birth_date']->diff(new DateTime)->y;
    return $row;
  });
});

Параметры

вызываемая функция $formatter необязательно null
Вызываемая функция форматирования.
булево|целое число $mode необязательно 0
Заменять, добавлять или вставлять форматировщик.

Возвращает

mixed
текущий экземпляр|массив

getIteratorисточник public

getIterator( )

Выполняет этот запрос и возвращает итератор результатов. Эта функция необходима для реализации интерфейса IteratorAggregate и позволяет итерировать запрос без ручного вызова execute(), делая его похожим на набор результатов, а не на сам запрос.

Возвращает

Iterator
\Итератор
END_OF_DOCUMENT_MARKER

getOptionssource public

getOptions( )

Возвращает массив с настраиваемыми параметрами, которые были применены к этому запросу и которые ещё не были обработаны другим методом в этом классе.

Пример:

$query->applyOptions(['doABarrelRoll' => true, 'fields' => ['id', 'name']);
$query->getOptions(); // Returns ['doABarrelRoll' => true]

Возвращает

array
массив

См. также

\Cake\ORM\Query::applyOptions() для получения информации о параметрах, которые будут обработаны этим классом и не будут возвращены этой функцией

mapReducesource public

mapReduce( callable $mapper null , callable $reducer null , boolean $overwrite false )

Регистрирует новую процедуру MapReduce, которая должна быть выполнена поверх результатов базы данных. Как вызываемый объект, так и вызываемый объект-маппер должны быть вызываемыми объектами.

Маршрутизация MapReduce будет выполняться только при выполнении запроса и попытке извлечения первого результата.

Если первый аргумент установлен в null, он вернёт список ранее зарегистрированных процедур map-reduce.

Если третий аргумент установлен в true, предыдущие map-reducers будут удалены и заменены переданными аргументами.

Параметры

callable $mapper необязательно null
Вызываемый объект-маппер.
callable $reducer необязательно null
Функция редукции.
boolean $overwrite необязательно false
Установите в значение true, чтобы перезаписать существующие функции map + reduce.

Возвращает

mixed
$this|массив

См. также

\Cake\Collection\Iterator\MapReduce для получения подробной информации о том, как передавать данные методу emit map-reducer.

repositorysource public

repository( Cake\Datasource\RepositoryInterface $table null )

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

При вызове с аргументом Table стандартный объект таблицы будет установлен, и этот объект запроса будет возвращен для цепочки.

Параметры

Cake\Datasource\RepositoryInterface $table необязательно null
Стандартный объект таблицы для использования

Возвращает

Cake\Datasource\RepositoryInterface|$this
$this

setResultsource public

setResult( Cake\Datasource\ResultSetInterface $results )

Устанавливает набор результатов для запроса.

Установка набора результатов запроса сделает execute() бесполезным действием. Вместо выполнения SQL-запроса и извлечения результатов, будет возвращен ResultSet, предоставленный этому методу.

Этот метод наиболее полезен в сочетании с результатами, хранящимися в постоянном кэше.

Параметры

Cake\Datasource\ResultSetInterface $results
Результаты, которые должен вернуть этот запрос.

Возвращает

mixed
$this Объект запроса.

toArraysource public

toArray( )

Возвращает представление результатов в виде массива после выполнения запроса.

Возвращает

array
массив

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

$_cachesource

protected Cake\Datasource\QueryCacher

Экземпляр кэша запросов, если для этого запроса включён кэширование.

$_eagerLoadedsource

protected boolean

Является ли запрос автономным или результатом операции eager load.

false

$_formatterssource

protected массив

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

[]

$_mapReducesource

protected массив

Список процедур map-reduce, которые должны быть применены к результату запроса.

[]

$_optionssource

protected массив

Содержит любые настраиваемые параметры, переданные с помощью applyOptions, которые не могли быть обработаны никаким методом в этом классе.

[]

$_repositorysource

protected Cake\Datasource\RepositoryInterface

Экземпляр объекта таблицы, к которому привязан этот запрос.

$_resultssource

protected Cake\Datasource\ResultSetInterface

ResultSet.

При установке выполнение запроса будет пропущено.

См. также

Cake\Datasource\QueryTrait::setResult()

© 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.Datasource.QueryTrait.html

Spec-Zone.ru

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