2017-02-28 8 views
0

私は my some tableクエリービルダーは、別のフィールドに応じて、フィールドの値を要約

が、私はこれらのグループのiformationを選択する必要があるいくつかのテーブルを持っていますが、いくつかの条件があります:(日日付別

  • グループの結果を)。 'TotalIn'TotalOut
  • は、ビューに結果を与える変数の例にstatus_id = 12(これを理想的に日は09.00で開始し、09.00(24時間)
  • が、私は新しい変数の例にフィールドsum'satus_id' = 10の値を要約必要がfinshとき問題なし)

どのようにすればいいですか? 私がこれを書いたが、私は今、これは間違っている:

$statistic = DB::connection('mysql2')->table('payout_transactions') 
     ->selectRaw('*, DATE(date) as day') 
     ->where('status_id', 12) 
     ->selectRaw('SUM(sum) AS TotalIn') 
     ->groupBy('day') 
     ->get(); 

答えて

1

あなたが考えることができるものは次のとおりです。

DB::table('market') 
->selectRaw('SUM(sum) as total, status_id, DATE("date") as day') 
->whereIn('status_id', [10,12]) 
->groupBy([DB::raw(DATE('date')), 'status_id']) 
->get() 

日のために、別途の両方status_ids(10または12)のために合計を与える必要があること。

+0

これは良いですが、SUMを別途10と12で取得する必要があります。例 'totalIn'これは、' status_id' = 10.のグループ内のすべての値と 'status_id' = 12のグループ内のすべての残高を合計します。 –

+0

これは、各行に合計値(エイリアス合計)、status_id(10または12)とその日が含まれているため、別個です。 –

+0

コレクションを反復するときには、($ item-> status_id == 10)// TOTAL IN以外の場合//それはTOTAL OUTです –

関連する問題