2016-04-25 9 views
0

この場合 - テーブル 'district'には2つの列id、districtがあります。 テーブル '当事者の列いる - parties_partyname、parties_districtYii2の複数の結合

parties.parties_partyname = districts.district 

別のテーブルの法案は、「列partyname、billamountを持っています。

bills.partyname = parties.parties_partyname 

今、私が欲しいものを以下のように各地区についてbillamountを確認することです -

District Sale 
A 10000 
B 20000 
C 10000 
D 20000 

マイ検索クエリがある -

$query = Districts::find(); 
     $subquery = Bills::find()->select('parties_district,bills_partyname, billdate, sum(billamount) as sale')->groupBy(['parties_district']); 
     $subquery->joinWith(['parties']); 
     $query->leftJoin(['T' => $subquery], 'T.parties_district = districts.district'); 

私は(設定されていません)」取得しています売却欄に表示されます。どのような変更が必要か教えてください。 はまた、私はpartiesSearchモデルで、このような部品で破るしようとしました - 「findbysql」 -

$query = Parties::find(); 
     $subquery = Bills::find()->select('bills_partyname, billdate, sum(billamount) as sale')->groupBy(['bills_partyname']); 
     $query->leftJoin(['T' => $subquery], 'T.bills_partyname = parties_partyname'); 

まだ私は販売の列

答えて