没有命名空间的类 yii yii\base yii\behaviors yii\caching yii\captcha yii\console yii\console\controllers yii\console\widgets yii\data yii\db yii\db\conditions yii\db\cubrid yii\db\cubrid\conditions yii\db\mssql yii\db\mssql\conditions yii\db\mysql yii\db\oci yii\db\oci\conditions yii\db\pgsql yii\db\sqlite yii\db\sqlite\conditions yii\di yii\filters yii\filters\auth yii\grid yii\helpers yii\i18n yii\log yii\mail yii\mutex yii\rbac yii\rest yii\test yii\validators yii\web yii\widgets

Interface yii\db\ActiveQueryInterface

继承yii\db\QueryInterface
实现yii\db\ActiveQuery
可用版本自2.0
源码 https://github.com/yiichina/yii2/blob/api/framework/db/ActiveQueryInterface.php

ActiveQueryInterface 定义了由活动记录查询类实现的通用接口。

这是用于返回活动记录的普通查询的方法,也是关系查询的方法。 其中查询表示两个活动记录类之间的关系, 并将仅返回已关联的记录。

实现此接口的类还应该使用 yii\db\ActiveQueryTraityii\db\ActiveRelationTrait

公共方法

隐藏继承的方法

方法描述被定义在
addOrderBy() Adds additional ORDER BY columns to the query. yii\db\QueryInterface
all() Executes the query and returns all results as an array. yii\db\QueryInterface
andFilterWhere() Adds an additional WHERE condition to the existing one ignoring empty parameters. yii\db\QueryInterface
andWhere() Adds an additional WHERE condition to the existing one. yii\db\QueryInterface
asArray() 设置 asArray() 属性。 yii\db\ActiveQueryInterface
count() Returns the number of records. yii\db\QueryInterface
emulateExecution() Sets whether to emulate query execution, preventing any interaction with data storage. yii\db\QueryInterface
exists() Returns a value indicating whether the query result contains any row of data. yii\db\QueryInterface
filterWhere() Sets the WHERE part of the query ignoring empty parameters. yii\db\QueryInterface
findFor() 查找指定主记录的相关记录。 当以惰性方式访问活动记录的关系时,调用此方法。 yii\db\ActiveQueryInterface
indexBy() 设置 indexBy() 属性。 yii\db\ActiveQueryInterface
limit() Sets the LIMIT part of the query. yii\db\QueryInterface
offset() Sets the OFFSET part of the query. yii\db\QueryInterface
one() 执行查询并返回单行结果。 yii\db\ActiveQueryInterface
orFilterWhere() Adds an additional WHERE condition to the existing one ignoring empty parameters. yii\db\QueryInterface
orWhere() Adds an additional WHERE condition to the existing one. yii\db\QueryInterface
orderBy() Sets the ORDER BY part of the query. yii\db\QueryInterface
via() 指定与连接表相关联的关系,用于关系查询。 yii\db\ActiveQueryInterface
where() Sets the WHERE part of the query. yii\db\QueryInterface
with() 指定应执行此查询的关系。 yii\db\ActiveQueryInterface

方法详情

asArray() 公共 抽象 方法

设置 asArray() 属性。

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

是否按数组而不是活动记录返回查询结果。

return $this

查询对象本身

findFor() 公共 抽象 方法

查找指定主记录的相关记录。 当以惰性方式访问活动记录的关系时,调用此方法。

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

关系名称

$model yii\db\ActiveRecordInterface

主模型

return mixed

混合的相关记录

indexBy() 公共 抽象 方法

设置 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 yii\db\ActiveRecordInterface|array|null one($db null)
$db yii\db\Connection

用于创建数据库命令的数据库连接。 如果为 null,将使用 modelClass 返回的数据库连接。

return yii\db\ActiveRecordInterface|array|null

查询结果的单行。取决于 asArray() 的设置, 查询结果可以是数组或活动记录对象。 如果查询没有结果将返回 null

via() 公共 抽象 方法

指定与连接表相关联的关系,用于关系查询。

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

关系名称。在关系的 primaryModel 中声明的关系。

$callable callable

PHP 回调,用于自定义与连接表相关联的关系。 它的签名应该是 function($query),其中 $query 是要定制的查询。

return $this

关系对象本身。

with() 公共 抽象 方法

指定应执行此查询的关系。

此方法的参数可以是一个或多个字符串, 也可以是关系名称的单个数组以及自定义关系的可选回调。

关系名称可以指在 modelClass 中定义的关系或代表相关记录关系的子关系。 例如,orders.address 是指模型类中定义的对应于 orders 关系的 address 关系。

以下是一些用法示例:

// 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

查询对象本身