谁一开始就是大神?

ActiveDataProvider怎么使用sum(colum)?[2.0]

数据库是这样

20150528105244.jpg

我想实现的sql是这样
select *, sum(money) as sumMoney from table GROUP BY userId order by sumMoney desc

yii中是这样写的


$dataProvider = new ActiveDataProvider([
            'query' => (new \yii\db\Query)->select(['*', 'sum(money) as sumMoney'])->from('za_shared_revenue_record')->groupBy('userId')->orderBy('sumMoney desc'),
        ]);

问题来了,这样的结果 dataProvider 是不对的,没法在 GridView 中使用 sumMoney 。

求大神出招,怎么在 GridView 中使用 sumMoney。

在model定义一个属性,作为虚字段使用。
1 派生yii\grid\DataColumn类,派生类中重载init函数,在init函数中给$this->content赋值即可(当然实际操作上应该是在这里调用另一个随便什么自定义的函数)。例如如下代码片段:
2 在GridView中'columns'属性中增加这个列,指明class为上述的派生类即可:
页面怎么实现的 在gridview外可以调用吗?

赞(0) 打赏
未经允许不得转载:菜鸟之家 » ActiveDataProvider怎么使用sum(colum)?[2.0]

评论 抢沙发

登录

找回密码

注册