2014-06-10 99 views
0

我想循環並查詢兩個值,並獲得計數。 Laravel只返回數組中的一個結果。我覺得它一次只做whereBetween,沒有更多。這看起來正確嗎?Laravel查詢,並循環只返回一個結果

$queryTotals = $users->query(); 

foreach($times as $k => $v) 
{ 
    $time_group[$k]['count'] = $queryTotals->whereBetween('join_date', array($v[0], $v[1])) 
              ->get() 
              ->count(); 
} 

它比較兩個值(兩個時間戳),並計算該範圍之間的成員總數。

+0

當Stackoverflow允許時,會添加答案。 – GrantB

回答

1

您的問題似乎是重複使用查詢,您正在使用循環將whereBetween添加到它。要一次又一次重複使用相同的查詢,只需將舊查詢複製到一個新變量中,我認爲應該這樣做。我還沒有嘗試過這些代碼,因爲我不知道你以前的變量。

$queryTotals = $users->query(); 

foreach($times as $k => $v) 
{ 
    $nq = $queryTotals; 
    $time_group[$k]['count'] = $nq->whereBetween('join_date', array($v[0], $v[1])) 
              ->get() 
              ->count(); 
}