Spec-Zone.ru › Yii 2.0

Класс yii\redis\ActiveQuery

Все классы | Свойства | Методы | События
Наследование yii\redis\ActiveQuery » yii\base\Component » yii\base\Object
Реализует yii\base\Configurable, yii\db\ActiveQueryInterface
Использует трейты yii\db\ActiveQueryTrait, yii\db\ActiveRelationTrait, yii\db\QueryTrait
Доступен с версии 2.0
Исходный код https://github.com/yiisoft/yii2-redis/blob/master/ActiveQuery.php

ActiveQuery представляет запрос, связанный с классом Active Record.

  1. Обычный запрос
  2. Связанный запрос

Объект ActiveQuery может быть обычным запросом или использоваться в контексте связи.

Экземпляры ActiveQuery обычно создаются с помощью yii\redis\ActiveRecord::find(). Связанные запросы создаются с помощью yii\redis\ActiveRecord::hasOne() и yii\redis\ActiveRecord::hasMany().

Обычный запрос

ActiveQuery в основном предоставляет следующие методы для получения результатов запроса:

  • one(): возвращает единственный объект, заполненный первой строкой данных.
  • all(): возвращает все записи на основе результатов запроса.
  • count(): возвращает количество записей.
  • sum(): возвращает сумму по указанному столбцу.
  • average(): возвращает среднее значение по указанному столбцу.
  • min(): возвращает минимальное значение по указанному столбцу.
  • max(): возвращает максимальное значение по указанному столбцу.
  • scalar(): возвращает значение первого столбца в первой строке результата запроса.
  • exists(): возвращает значение, указывающее, содержит ли результат запроса данные или нет.

Вы можете использовать методы запроса, такие как where(), limit() и orderBy(), чтобы настроить параметры запроса.

ActiveQuery также предоставляет следующие дополнительные параметры запроса:

  • with(): список отношений, с которыми должен выполняться этот запрос.
  • indexBy(): имя столбца, по которому должен индексироваться результат запроса.
  • asArray(): нужно ли возвращать каждую запись в виде массива.

Эти параметры можно настроить, используя методы с одинаковым названием. Например:

$customers = Customer::find()->with('orders')->asArray()->all();

Связанный запрос

В контексте связи ActiveQuery представляет отношение между двумя классами Active Record.

Экземпляры связанного ActiveQuery обычно создаются путем вызова yii\redis\ActiveRecord::hasOne() и yii\redis\ActiveRecord::hasMany(). Класс Active Record объявляет отношение, определив метод-геттер, который вызывает один из вышеуказанных методов и возвращает созданный объект ActiveQuery.

Связь определяется свойством $link, которое представляет ассоциацию между столбцами разных таблиц; а множественность отношения указывается свойством $multiple.

Если отношение включает в себя таблицу связи, она может быть задана методом via(). Этот метод может вызываться только в контексте связи. То же самое относится к методу inverseOf(), который отмечает отношение как обратное другому отношению.

Открытые свойства

Свойство Тип Описание Определено в
$asArray boolean Возвращать ли каждую запись в виде массива. yii\db\ActiveQueryTrait
$behaviors yii\base\Behavior[] Список присоединенных к этому компоненту поведений yii\base\Component
$emulateExecution boolean Имитировать ли фактическое выполнение запроса, возвращая пустые или ложные результаты. yii\db\QueryTrait
$indexBy string|callable Имя столбца, по которому результаты запроса должны быть проиндексированы. yii\db\QueryTrait
$inverseOf string Имя отношения, которое является обратным этому отношению. yii\db\ActiveRelationTrait
$limit integer|yii\db\Expression Максимальное количество возвращаемых записей. yii\db\QueryTrait
$link array Столбцы первичной и внешней таблиц, которые устанавливают отношение. yii\db\ActiveRelationTrait
$modelClass string Имя класса ActiveRecord. yii\db\ActiveQueryTrait
$multiple boolean Представляет ли этот запрос отношение к более чем одной записи. yii\db\ActiveRelationTrait
$offset integer|yii\db\Expression Смещение с нулевым значением, с которого должны возвращаться записи. yii\db\QueryTrait
$orderBy array Как сортировать результаты запроса. yii\db\QueryTrait
$primaryModel yii\db\ActiveRecord Основная модель связанного запроса. yii\db\ActiveRelationTrait
$via array|object Запрос, связанный с таблицей связи. yii\db\ActiveRelationTrait
$where string|array Условие запроса. yii\db\QueryTrait
$with array Список отношений, с которыми должен выполняться этот запрос yii\db\ActiveQueryTrait

Открытые методы

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. yii\base\Component
__clone() Клонирует внутренние объекты. yii\db\ActiveRelationTrait
__construct() Конструктор. yii\redis\ActiveQuery
__get() Возвращает значение свойства компонента. yii\base\Component
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Component
__set() Устанавливает значение свойства компонента. yii\base\Component
__unset() Устанавливает свойство компонента в значение null. yii\base\Component
addOrderBy() Добавляет дополнительные столбцы ORDER BY в запрос. yii\db\QueryTrait
all() Выполняет запрос и возвращает все результаты в виде массива. yii\redis\ActiveQuery
andFilterWhere() Добавляет дополнительное условие WHERE к существующему, но игнорирует пустые операнды. yii\db\QueryTrait
andWhere() Добавляет дополнительное условие WHERE к существующему. yii\db\QueryTrait
asArray() Устанавливает свойство asArray(). yii\db\ActiveQueryTrait
attachBehavior() Прикрепляет поведение к этому компоненту. yii\base\Component
attachBehaviors() Прикрепляет список поведений к компоненту. yii\base\Component
average() Возвращает среднее значение указанных значений столбца. yii\redis\ActiveQuery
behaviors() Возвращает список поведений, которые должен иметь этот компонент. yii\base\Component
canGetProperty() Возвращает значение, указывающее, можно ли прочитать свойство. yii\base\Component
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Component
className() Возвращает полное квалифицированное имя этого класса. yii\base\Object
column() Выполняет запрос и возвращает первый столбец результата. yii\redis\ActiveQuery
count() Возвращает количество записей. yii\redis\ActiveQuery
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
emulateExecution() Устанавливает, следует ли эмулировать выполнение запроса, предотвращая взаимодействие с хранилищем данных. yii\db\QueryTrait
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. yii\base\Component
exists() Возвращает значение, указывающее, содержит ли результат запроса какую-либо строку данных. yii\redis\ActiveQuery
filterWhere() Устанавливает часть WHERE запроса, но игнорирует пустые операнды. yii\db\QueryTrait
findFor() Ищет связанные записи для указанной основной записи. yii\db\ActiveRelationTrait
findWith() Ищет записи, соответствующие одному или нескольким отношениям, и заполняет их в основные модели. yii\db\ActiveQueryTrait
getBehavior() Возвращает объект именованного поведения. yii\base\Component
getBehaviors() Возвращает все прикреплённые к этому компоненту поведения. yii\base\Component
hasEventHandlers() Возвращает значение, указывающее, есть ли какой-либо обработчик, прикреплённый к указанному событию. yii\base\Component
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Component
hasProperty() Возвращает значение, указывающее, определено ли свойство для этого компонента. yii\base\Component
indexBy() Устанавливает свойство indexBy(). yii\db\QueryTrait
init() Инициализирует объект. yii\redis\ActiveQuery
inverseOf() Устанавливает имя отношения, являющегося обратным этому отношению. yii\db\ActiveRelationTrait
limit() Устанавливает часть LIMIT запроса. yii\db\QueryTrait
max() Возвращает максимальное значение указанных значений столбца. yii\redis\ActiveQuery
min() Возвращает минимальное значение указанных значений столбца. yii\redis\ActiveQuery
off() Отсоединяет существующий обработчик событий от этого компонента. yii\base\Component
offset() Устанавливает часть OFFSET запроса. yii\db\QueryTrait
on() Прикрепляет обработчик событий к событию. yii\base\Component
one() Выполняет запрос и возвращает единственную строку результата. yii\redis\ActiveQuery
orFilterWhere() Добавляет дополнительное условие WHERE к существующему, но игнорирует пустые операнды. yii\db\QueryTrait
orWhere() Добавляет дополнительное условие WHERE к существующему. yii\db\QueryTrait
orderBy() Устанавливает часть ORDER BY запроса. yii\db\QueryTrait
populateRelation() Ищет связанные записи и заполняет ими основные модели. yii\db\ActiveRelationTrait
scalar() Возвращает результат запроса как скалярное значение. yii\redis\ActiveQuery
sum() Возвращает количество записей. yii\redis\ActiveQuery
trigger() Вызывает событие. yii\base\Component
via() Указывает отношение, связанное со справочной таблицей. yii\db\ActiveRelationTrait
where() Устанавливает часть WHERE запроса. yii\db\QueryTrait
with() Указывает отношения, с которыми должен выполняться этот запрос. yii\db\ActiveQueryTrait

Защищенные методы

Метод Описание Определено в
createModels() Преобразует найденные строки в экземпляры моделей yii\db\ActiveQueryTrait
executeScript() Выполняет скрипт, созданный с помощью yii\redis\LuaScriptBuilder yii\redis\ActiveQuery
filterCondition() Удаляет пустые операнды из заданного условия запроса. yii\db\QueryTrait
isEmpty() Возвращает значение, указывающее, является ли заданное значение "пустым". yii\db\QueryTrait
normalizeOrderBy() Нормализует формат данных ORDER BY yii\db\QueryTrait

События

Событие Тип Описание Определено в
EVENT_INIT \yii\redis\Event Событие, которое срабатывает при инициализации запроса через init(). yii\redis\ActiveQuery

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

__construct() public method

Конструктор.

public void __construct ( $modelClass, $config = [] )
$modelClass array

Класс модели, связанный с этим запросом

$config array

Настройки, которые необходимо применить к новосозданному объекту запроса

all() public method

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

public array|yii\redis\ActiveRecord[] all ( $db = null )
$db yii\redis\Connection

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

return array|yii\redis\ActiveRecord[]

Результаты запроса. Если запрос не возвращает никаких результатов, возвращается пустой массив.

average() public method

Возвращает среднее значение указанных значений столбца.

public integer average ( $column, $db = null )
$column string

Имя столбца или выражение. Убедитесь, что вы правильно указываете имена столбцов в выражении.

$db yii\redis\Connection

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

return integer

Среднее значение указанных значений столбца.

column() public method

Выполняет запрос и возвращает первый столбец результата.

public array column ( $column, $db = null )
$column string

Имя столбца для выбора

$db yii\redis\Connection

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

return array

Первый столбец результата запроса. Если запрос не возвращает никаких результатов, возвращается пустой массив.

count() public method

Возвращает количество записей.

public integer count ( $q = '*', $db = null )
$q string

Выражение COUNT. Этот параметр игнорируется в этой реализации.

$db yii\redis\Connection

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

return integer

Количество записей

executeScript() protected method

Выполняет скрипт, созданный с помощью yii\redis\LuaScriptBuilder

protected array|boolean|null|string executeScript ( $db, $type, $columnName = null )
$db yii\redis\Connection|null

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

$type string

Тип генерируемого скрипта

$columnName string
throws yii\base\NotSupportedException

exists() public method

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

public boolean exists ( $db = null )
$db yii\redis\Connection

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

return boolean

Содержит ли результат запроса какую-либо строку данных.

init() public method

Инициализирует объект.

Этот метод вызывается в конце конструктора. Стандартная реализация вызовет событие EVENT_INIT. Если вы переопределяете этот метод, убедитесь, что вызываете родительскую реализацию в конце, чтобы гарантировать срабатывание события.

public void init ( )

max() public method

Возвращает максимальное значение указанных значений столбца.

public integer max ( $column, $db = null )
$column string

Имя столбца или выражение. Убедитесь, что вы правильно указываете имена столбцов в выражении.

$db yii\redis\Connection

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

return integer

Максимальное значение указанных значений столбца.

min() public method

Возвращает минимальное значение указанных значений столбца.

public integer min ( $column, $db = null )
$column string

Имя столбца или выражение. Убедитесь, что вы правильно указываете имена столбцов в выражении.

$db yii\redis\Connection

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

return integer

Минимальное значение указанных значений столбца.

one() public method

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

public yii\redis\ActiveRecord|array|null one ( $db = null )
$db yii\redis\Connection

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

return yii\redis\ActiveRecord|array|null

Одна строка результата запроса. В зависимости от настроек asArray(), результат запроса может быть массивом или объектом ActiveRecord. Null будет возвращен, если запрос не вернет ничего.

scalar() public method

Возвращает результат запроса как скалярное значение.

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

public string scalar ( $attribute, $db = null )
$attribute string

Имя атрибута для выбора

$db yii\redis\Connection

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

return string

Значение указанного атрибута в первой записи результата запроса. Null возвращается, если результат запроса пустой.

sum() public method

Возвращает количество записей.

public integer sum ( $column, $db = null )
$column string

Столбец для суммирования

$db yii\redis\Connection

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

return integer

Количество записей

Подробности события

EVENT_INIT событие типа \yii\redis\Event

Событие, которое срабатывает при инициализации запроса с помощью init().

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-redis-activequery.html

Spec-Zone.ru

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