2017-02-28 71 views
0

我有一些表 my some table查詢生成器根據另一場總結字段值

我需要選擇這一個組見識,但有一定的條件:

  • 組結果按日期(日)。理想的情況是當天開始09.00和完成日常09.00(24小時)
  • 然後我需要總結值字段sum其中'satus_id' = 10到新的變量的例子,但本'TotalIn'並且其中status_id = 12爲可變實例TotalOut
  • 給上查看結果(沒問題)

怎麼辦? 我寫這篇文章,但我現在這是錯誤的:

$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和'totalOut'都在羣組中,其中'status_id' = 12 –

+0

它是分開的,因爲每行都包含sumed值(別名總數),status_id(10或12)和日期。 –

+0

所以當迭代通過集合,你可以做,如果($ item-> status_id == 10)//它總是在其他地方//它是總輸出 –