2016-04-23 7 views
2

私は3つの列を持つテーブルビールを持っています - partyname、billdate、billamount。そして、列partynameと地区を持っている別のテーブルパーティーがあります。どちらもpartynameに関連しています。私はそれらに参加し、データをgridviewに表示することができます。私が欲しいのは、特定の地域に属しているが、すべての当事者のBillamount列があるyii2のsum()と関連するフィールドでグループを使用

District Billdate Billamount 
Kolkata 2016-03-02 20000 
Malda 2016-03-02 30000 
Jalpaiguri 2016-03-02 30000 

以下のようにデータの和(量)を示すことです。私はYii2 - getting sum of a columnYii 2 ActiveDataProvider query with ->all() gives "Call to a member function andFilterWhere() on array" errorYii2 Query does not return column sumYii2 - getting sum of a columnを読んだ。しかし、それを作ることができませんでした。助けてください。 私の検索は

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, 
     ]); 

答えて

3

はあなたが 'my__sum'

との和を参照することができ、あなたのdataProvider内の

class YuorModel extends \yii\db\ActiveRecord 
{ 

    public $my_sum; 
    ..... 

その後、

$query = Bills::find()->select('partyname, billdate, sum(billamount) as my_sum)'; 
$query->joinWith(['parties']); 

和エイリアスのVARとモデルの拡張であります

関連する問題