Spec-Zone.ru › Yii 2.0

Класс yii\mongodb\ActiveQuery

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

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

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

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

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

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

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

Поскольку ActiveQuery расширяет yii\mongodb\Query, можно использовать методы запроса, такие как where(), orderBy() для настройки параметров запроса.

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

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

Эти параметры можно настроить с помощью методов с таким же именем. Например:

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

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

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

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

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

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

Общедоступные свойства

Свойство Тип Описание Определено в
$asArray boolean Возвращать ли каждый документ как массив. yii\db\ActiveQueryTrait
$behaviors yii\base\Behavior[] Список присоединенных к этому компоненту поведений yii\base\Component
$collection yii\mongodb\Collection Экземпляр коллекции. yii\mongodb\ActiveQuery
$emulateExecution boolean Эмулировать ли фактическое выполнение запроса, возвращая пустые или ложные результаты. yii\db\QueryTrait
$from string|array Коллекция, из которой нужно выбрать данные. yii\mongodb\Query
$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
$options array Параметры курсора в формате: optionKey => optionValue yii\mongodb\Query
$orderBy array Как отсортировать результаты запроса. yii\db\QueryTrait
$primaryModel yii\db\ActiveRecord Основной экземпляр модели связанного запроса. yii\db\ActiveRelationTrait
$select array Поля результатов, которые нужно вернуть. yii\mongodb\Query
$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\mongodb\ActiveQuery
__get() Возвращает значение свойства компонента. yii\base\Component
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Component
__set() Устанавливает значение свойства компонента. yii\base\Component
__unset() Устанавливает свойство компонента в null. yii\base\Component
addOptions() Добавляет дополнительные опции курсора. yii\mongodb\Query
addOrderBy() Добавляет дополнительные столбцы ORDER BY в запрос. yii\db\QueryTrait
all() Выполняет запрос и возвращает все результаты в виде массива. yii\mongodb\ActiveQuery
andFilterCompare() Вспомогательный метод для удобного запроса значений, содержащих некоторые общие операторы. yii\mongodb\Query
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\mongodb\Query
batch() Инициализирует пакетный запрос. yii\mongodb\Query
behaviors() Возвращает список поведений, по которым этот компонент должен вести себя. yii\base\Component
buildCursor() Создает MongoDB курсор для этого запроса. yii\mongodb\Query
canGetProperty() Возвращает значение, указывающее, может ли свойство быть прочитано. yii\base\Component
canSetProperty() Возвращает значение, указывающее, может ли свойство быть установлено. yii\base\Component
className() Возвращает полное имя этого класса. yii\base\Object
column() Выполняет запрос и возвращает первый столбец результата. yii\mongodb\Query
count() Возвращает количество записей. yii\mongodb\Query
detachBehavior() Открепляет поведение от компонента. yii\base\Component
detachBehaviors() Открепляет все поведения от компонента. yii\base\Component
distinct() Возвращает список уникальных значений для указанного столбца во всей коллекции. yii\mongodb\Query
each() Инициализирует пакетный запрос и извлекает данные строка за строкой. yii\mongodb\Query
emulateExecution() Устанавливает, нужно ли эмулировать выполнение запроса, предотвращая взаимодействие с хранилищем данных. yii\db\QueryTrait
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. yii\base\Component
exists() Возвращает значение, указывающее, содержит ли результат запроса какую-либо строку данных. yii\mongodb\Query
filterWhere() Устанавливает часть WHERE запроса, но игнорирует пустые операнды. yii\db\QueryTrait
findFor() Находит связанные записи для указанной основной записи. yii\db\ActiveRelationTrait
findWith() Находит записи, соответствующие одному или нескольким отношениям, и заполняет их в основные модели. yii\db\ActiveQueryTrait
from() Устанавливает коллекцию, из которой следует выбрать. yii\mongodb\Query
getBehavior() Возвращает объект именованного поведения. yii\base\Component
getBehaviors() Возвращает все присоединенные к этому компоненту поведения. yii\base\Component
getCollection() Возвращает Mongo коллекцию для этого запроса. yii\mongodb\ActiveQuery
hasEventHandlers() Возвращает значение, указывающее, есть ли обработчик, присоединенный к указанному событию. yii\base\Component
hasMethod() Возвращает значение, указывающее, определен ли метод. yii\base\Component
hasProperty() Возвращает значение, указывающее, определено ли свойство для этого компонента. yii\base\Component
indexBy() Устанавливает свойство indexBy(). yii\db\QueryTrait
init() Инициализирует объект. yii\mongodb\ActiveQuery
inverseOf() Устанавливает имя отношения, которое является обратным для этого отношения. yii\db\ActiveRelationTrait
limit() Устанавливает часть LIMIT запроса. yii\db\QueryTrait
max() Возвращает максимальное значение указанных значений столбца. yii\mongodb\Query
min() Возвращает минимальное значение указанных значений столбца. yii\mongodb\Query
modify() Выполняет запрос 'findAndModify' и возвращает одну строку результата. yii\mongodb\ActiveQuery
off() Открепляет существующий обработчик событий от этого компонента. yii\base\Component
offset() Устанавливает часть OFFSET запроса. yii\db\QueryTrait
on() Прикрепляет обработчик событий к событию. yii\base\Component
one() Выполняет запрос и возвращает единственную строку результата. yii\mongodb\ActiveQuery
options() Устанавливает параметры курсора. yii\mongodb\Query
orFilterWhere() Добавляет дополнительное условие WHERE к существующему, но игнорирует пустые операнды. yii\db\QueryTrait
orWhere() Добавляет дополнительное условие WHERE к существующему. yii\db\QueryTrait
orderBy() Устанавливает часть ORDER BY запроса. yii\db\QueryTrait
populate() Преобразует сырые результаты запроса в формат, указанный этим запросом. yii\mongodb\ActiveQuery
populateRelation() Ищет связанные записи и заполняет их в основные модели. yii\db\ActiveRelationTrait
prepare() Готовится к построению запроса. yii\mongodb\ActiveQuery
scalar() Возвращает результат запроса как скалярное значение. yii\mongodb\Query
select() Устанавливает список полей результатов, которые нужно вернуть. yii\mongodb\Query
sum() Возвращает сумму значений указанного столбца. yii\mongodb\Query
trigger() Вызывает событие. yii\base\Component
via() Указывает отношение, связанное с таблицей соединения. yii\db\ActiveRelationTrait
where() Устанавливает часть WHERE запроса. yii\db\QueryTrait
with() Указывает отношения, с которыми должен быть выполнен этот запрос. yii\db\ActiveQueryTrait

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

Метод Описание Определено в
aggregate() Выполняет агрегацию для заданного столбца. yii\mongodb\Query
createModels() Преобразует найденные строки в экземпляры моделей. yii\db\ActiveQueryTrait
fetchRows() Извлекает строки из заданного курсора Mongo. yii\mongodb\Query
fetchRowsInternal() yii\mongodb\Query
filterCondition() Удаляет пустые операнды из данного условия запроса. yii\db\QueryTrait
isEmpty() Возвращает значение, указывающее, является ли данное значение "пустым". yii\db\QueryTrait
normalizeOrderBy() Нормализует формат данных ORDER BY. yii\db\QueryTrait

События

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

Подробности свойств

$collection общедоступное только для чтения свойство

Экземпляр коллекции.

public yii\mongodb\Collection getCollection ( $db = null )

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

__construct() public method

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

public void __construct ( $modelClass, $config = [] )
$modelClass массив

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

$config массив

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

all() public method

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

public массив|yii\mongodb\ActiveRecord all ( $db = null )
$db yii\mongodb\Connection

Подключение к MongoDB, используемое для выполнения запроса. Если null, используется подключение к MongoDB, возвращаемое $modelClass.

return массив|yii\mongodb\ActiveRecord

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

getCollection() public method

Возвращает коллекцию MongoDB для этого запроса.

public yii\mongodb\Collection getCollection ( $db = null )
$db yii\mongodb\Connection

Подключение к MongoDB.

return yii\mongodb\Collection

Экземпляр коллекции.

init() public method

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

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

public void init ( )

modify() public method

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

Предупреждение: в случае, если параметр 'new' установлен в 'false' (по умолчанию), использование этого метода может привести к непредсказуемому поведению некоторых функций Active Record, потому что объект будет заполнен устаревшими данными.

public yii\mongodb\ActiveRecord|массив|null modify ( $update, $options = [], $db = null )
$update массив

Критерии обновления

$options массив

Список параметров в формате: имяПараметра => значениеПараметра.

$db yii\mongodb\Connection

Подключение к MongoDB, используемое для выполнения запроса.

return yii\mongodb\ActiveRecord|массив|null

Исходный документ или измененный документ, если $options['new'] установлен. В зависимости от настройки asArray(), результат запроса может быть либо массивом, либо объектом ActiveRecord. Будет возвращено null, если запрос не возвращает результатов.

one() public method

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

public yii\mongodb\ActiveRecord|массив|null one ( $db = null )
$db yii\mongodb\Connection

Подключение к MongoDB, используемое для выполнения запроса. Если null, используется подключение к MongoDB, возвращаемое $modelClass.

return yii\mongodb\ActiveRecord|массив|null

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

populate() public method

Преобразует сырые результаты запроса в формат, указанный этим запросом.

Этот метод используется внутри для преобразования данных, полученных из MongoDB, в формат, необходимый этому запросу.

public массив populate ( $rows )
$rows массив

Сырой результат запроса из MongoDB

return массив

Преобразованный результат запроса

prepare() public method

Подготавливает выполнение запроса.

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

public $this prepare ( )
return $this

Подготовленный объект запроса.

Подробное описание событий

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

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

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

Spec-Zone.ru

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