2016-06-20 70 views
0

我有兩個表:分組上的相關表雄辯/ Laravel

checks 
id time (DateTime) 

views 
id check_id amount 

目前,我有這樣的查詢檢索過去24小時中的所有數據:

$dot_checks = View::whereHas('check', function($q) { 
           $q->where('time', '>', DB::raw('NOW() - INTERVAL 24 HOUR')); 
           $q->orderBy('time'); 
          })->get(); 

我有檢查每分鐘,但爲了顯示紫外線,我需要將它們分組10分鐘,取平均值。

我很努力做到這一點,其中的關鍵('時間')在相關表上。有人能告訴我正確的做法嗎?

謝謝你的時間。

回答

0

下面介紹如何按秒分組(600 = 10分鐘)。

$q->select(DB::raw('FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(time)/600) * 600) AS t, COUNT(*)')) 
$q->where('time', '>', DB::raw('NOW() - INTERVAL 24 HOUR')); 
$q->orderBy('time') 
$q->groupBy('t');