Spec-Zone.ru › Yii 2.0

Интерфейс yii\db\ActiveQueryInterface

Все классы | Методы
Расширяет yii\db\QueryInterface
Реализовано в yii\db\ActiveQuery, yii\elasticsearch\ActiveQuery, yii\mongodb\ActiveQuery, yii\mongodb\file\ActiveQuery, yii\redis\ActiveQuery, yii\sphinx\ActiveQuery
Доступно с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/db/ActiveQueryInterface.php

ActiveQueryInterface определяет общий интерфейс, который должны реализовывать классы запросов активных записей.

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

Класс, реализующий этот интерфейс, также должен использовать yii\db\ActiveQueryTrait и yii\db\ActiveRelationTrait.

Общедоступные методы

Метод Описание Определено в
addOrderBy() Добавляет дополнительные столбцы ORDER BY в запрос. yii\db\QueryInterface
all() Выполняет запрос и возвращает все результаты в виде массива. yii\db\QueryInterface
andFilterWhere() Добавляет дополнительное условие WHERE к существующему, игнорируя пустые параметры. yii\db\QueryInterface
andWhere() Добавляет дополнительное условие WHERE к существующему. yii\db\QueryInterface
asArray() Устанавливает свойство asArray(). yii\db\ActiveQueryInterface
count() Возвращает количество записей. yii\db\QueryInterface
emulateExecution() Устанавливает, нужно ли эмулировать выполнение запроса, предотвращая любое взаимодействие с хранилищем данных. yii\db\QueryInterface
exists() Возвращает значение, указывающее, содержит ли результат запроса какую-либо строку данных. yii\db\QueryInterface
filterWhere() Устанавливает часть WHERE запроса, игнорируя пустые параметры. yii\db\QueryInterface
findFor() Ищет связанные записи для указанной основной записи. yii\db\ActiveQueryInterface
indexBy() Устанавливает свойство indexBy(). yii\db\ActiveQueryInterface
limit() Устанавливает часть LIMIT запроса. yii\db\QueryInterface
offset() Устанавливает часть OFFSET запроса. yii\db\QueryInterface
one() Выполняет запрос и возвращает единственную строку результата. yii\db\ActiveQueryInterface
orFilterWhere() Добавляет дополнительное условие WHERE к существующему, игнорируя пустые параметры. yii\db\QueryInterface
orWhere() Добавляет дополнительное условие WHERE к существующему. yii\db\QueryInterface
orderBy() Устанавливает часть ORDER BY запроса. yii\db\QueryInterface
via() Указывает отношение, связанное со таблицей соединения для использования в реляционном запросе. yii\db\ActiveQueryInterface
where() Устанавливает часть WHERE запроса. yii\db\QueryInterface
with() Указывает отношения, с которыми должен быть выполнен этот запрос. yii\db\ActiveQueryInterface

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

asArray() public abstract method

Устанавливает свойство asArray().

public abstract $this asArray ( $value = true )
$value boolean

Указывает, нужно ли возвращать результаты запроса в виде массивов вместо объектов Active Record.

return $this

Сам объект запроса

findFor() public abstract method

Находит связанные записи для указанной основной записи.

Этот метод вызывается, когда к связи Active Record обращаются в режиме ленивой загрузки.

public abstract mixed findFor ( $name, $model )
$name string

Имя связи

$model yii\db\ActiveRecordInterface

Основная модель

return mixed

Связанная запись(и)

indexBy() public abstract method

Устанавливает свойство indexBy().

public abstract $this indexBy ( $column )
$column string|callable

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

// $model is an AR instance when `asArray` is false,
// or an array of column values when `asArray` is true.
function ($model)
{
    // return the index value corresponding to $model
}
return $this

Сам объект запроса

one() public abstract method

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

public abstract yii\db\ActiveRecordInterface|array|null one ( $db = null )
$db yii\db\Connection

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

return yii\db\ActiveRecordInterface|array|null

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

via() public abstract method

Определяет связь, связанную с таблицей соединения, для использования в реляционном запросе.

public abstract $this via ( $relationName, callable $callable = null )
$relationName string

Имя связи. Это относится к связи, объявленной в primaryModel связи.

$callable callable

Обратный вызов PHP для настройки связи, связанной с таблицей соединения. Его подпись должна быть function($query), где $query — запрос, который нужно настроить.

return $this

Сам объект связи.

with() public abstract method

Определяет связи, с которыми должен быть выполнен этот запрос.

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

Имя связи может ссылаться на связь, определённую в modelClass, или на подсвязь, которая представляет связь связанной записи. Например, orders.address означает связь address , определённую в классе модели, соответствующей связи orders.

Ниже приведены примеры использования:

// find customers together with their orders and country
Customer::find()->with('orders', 'country')->all();
// find customers together with their orders and the orders' shipping address
Customer::find()->with('orders.address')->all();
// find customers together with their country and orders of status 1
Customer::find()->with([
    'orders' => function (\yii\db\ActiveQuery $query) {
        $query->andWhere('status = 1');
    },
    'country',
])->all();
public abstract $this with ( )
return $this

Сам объект запроса

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

Spec-Zone.ru

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