我有一张账单,其中有 3 列 - 派对名称、账单日期、账单金额。还有另一个表party,其中包含partyname 和region 列。两者都与partyname有关。我可以加入它们并在 gridview 中显示数据。我想要的是显示如下数据
District Billdate Billamount
Kolkata 2016-03-02 20000
Malda 2016-03-02 30000
Jalpaiguri 2016-03-02 30000
Run Code Online (Sandbox Code Playgroud)
Billamount 列是属于特定地区的所有各方的总和(金额)。我读过Yii2 -让一列的总和,Yii的2 ActiveDataProvider与查询- >所有()给出了“呼叫到阵列中的成员函数andFilterWhere()”的错误,Yii2查询不返回列总和,Yii2 -得到的总和一栏。却说不出来。请帮忙。我的搜索是
public function search($params)
{
$query = Bills::find();
$query->joinWith(['parties']);
//$command = Yii::$app->db->createCommand("SELECT sum(billamount) FROM bills");
//$sum = $command->queryScalar();
//echo $sum;
//$sum = $query->sum('billamount');
//echo $sum;
// $sum = (new \yii\db\Query())->from('bills');
// $sum = $sum->sum('billamount');
// echo $sum;
//$sum = $query->sum('billamount');
//echo $sum;
// add conditions that should always apply here
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
Run Code Online (Sandbox Code Playgroud)
使用 var 为 sum 别名扩展您的模型
class YourModel extends \yii\db\ActiveRecord
{
public $my_sum;
.....
Run Code Online (Sandbox Code Playgroud)
然后
$query = Bills::find()->select('partyname, billdate, sum(billamount) as my_sum)';
$query->joinWith(['parties']);
Run Code Online (Sandbox Code Playgroud)
在您的 dataProvider 中,您可以参考总和 my_sum
| 归档时间: |
|
| 查看次数: |
5819 次 |
| 最近记录: |