如何使用汇总在yii2中编写查询

时间:2017-11-16 07:10:38

标签: php mysql yii2

如何使用汇总编写find():

 $leadsCount = Approval::find()
                ->select(['COUNT(id) AS cnt, coalesce(status, "total")'])
                ->groupBy(['status'])
                ->with(rollup)
                ->all();

在运行查询时 得到这样的错误:使用未定义的常量汇总 - 假设'汇总'

1 个答案:

答案 0 :(得分:1)

我猜你的意思是:

 $leadsCount = Approval::find()
                ->select(['COUNT(id) AS cnt, coalesce(`status`, "total")'])
                ->groupBy(new \yii\db\Expression('`status` ASC WITH ROLLUP'))
                ->all();

方法with()是关于对象关系的东西,完全不同。

您还需要引用列状态,因为它是MySQL中的reserved word

btw:您可能也想使用asArray()->asArray()->all();),因为您没有通过此查询获得Approval对象。