Yii2:如何将带有子查询的查询转换为Actived Record?

时间:2017-08-17 14:01:22

标签: sql postgresql yii2 rails-activerecord yii2-advanced-app

我想将带有子查询的这个非常简单的SQL查询转换为 Yii Active Record (我正在使用PostgreSQL)。

SELECT
  totals.name,
  FROM (
    SELECT
      products.id,
      products.name
    FROM "products"
  ) AS totals

如何将其转换为Active Record?

我发现了question,但这并不是我需要的。

1 个答案:

答案 0 :(得分:4)

通常,您可以使用findBySql()ActiveRecord静态方法。

$subquery = (new \yii\db\Query)->from('products')->select(['id','name']);
$query = (new \yii\db\Query)->from(['totals' => $subquery])->select('name');

$items = Model::findBySql($query->createCommand()->getRawSql())->all();