在yii2应用程序中,我有付款模型,字段ID(主键),u_id(整数,表示从用户模型进行此付款的人的ID),总和(整数)和日期.例:
+--------------------------------+
| Payment |
+--------------------------------+
| id | u_id | sum | date |
+--------------------------------+
| 1 | 1 | 400 | 2015-11-25 |
| 2 | 1 | 200 | 2015-11-25 |
| 3 | 2 | 500 | 2015-11-25 |
| 4 | 2 | 300 | 2015-11-25 |
| 5 | 1 | 100 | 2015-11-20 |
+--------------------------------+
问:我想按日期对结果进行分组,并为每天的每个u_id汇总所有行的总和字段,并显示总行数.怎么做…?也许没有总排?在yii2或干净的mysql.结果示例:
+-------------------------------------+
| Date | User id | Money, $ |
+-------------------------------------+
| 2015-11-25 | | 1400 (total) |
| 2015-11-25 | 1 | 600 |
| 2015-11-25 | 2 | 800 |
| 2015-11-20 | | 100 (total) |
| 2015-11-20 | 1 | 100 |
+-------------------------------------+
付款方式:
public function search($params)
{
$query = Payment::find();
// do we need to group and sum here?
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
$this->load($params);
return $dataProvider;
}
我想ListView会比GridView更容易,因为我们将能够为每个结果进行一些计算.视图:
DateUser idMoney, $
= ListView::widget([
'dataProvider' => $dataProvider,
'itemView' => '_item_view',
]) ?>
_item_view:
= $model->date ?>= $model->u_id ?>= $model->sum ?>