如何使用汇总编写find():
$leadsCount = Approval::find()
->select(['COUNT(id) AS cnt, coalesce(status, "total")'])
->groupBy(['status'])
->with(rollup)
->all();
在运行查询时 得到这样的错误:使用未定义的常量汇总 - 假设'汇总'
答案 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对象。