yii2.0的ActiveRecord是可以嵌套子查询的。

比如从一个子查询里面筛选数据。

首先实例化出来一个Query对象,代表子查询。

$subQuery = new \yii\db\Query();
$subQuery->from('tableA')->where(['>=', 'id', 10]);

假如UserModel是一个AR:

$list = UserModel::find()->from(['tmpA' => $subQuery])->all();

from里面传数组,数组KEY是临时表的名字,值是Query对象。

同样的如果是AR的join里面也要用到子查询,参数方式是一样的。

05-06 07:59