2016-01-29 60 views
0

我必須寫下如下查詢:SELECT azon, SUM(points) points FROM stats GROUP BY azon; 另外我需要在Laravel3中對它們進行分頁。Laravel3 group_by + sum + paginate?

所以我試了Stats::group_by('azon')->sum('points')->paginate(20);。當然這不起作用。所以我試了

$stats2 = DB::table('stats') 
       ->select('azon', DB::raw('SUM(points) as points')) 
       ->group_by('azon') 
       ->paginate(20); 

沒有結果。 我試過的最後一件事是DB::query('SELECT azon, SUM(points) points FROM test_stats GROUP BY azon'),但是這返回一個數組,我無法分頁數組。 任何想法,解決方法。我希望Laravel3有這個功能,因爲這是一個基本的查詢。

回答

1

您查詢的問題是,select函數查詢生成器接受數組參數。

$stats2 = DB::table('stats') 
    ->select(array('azon', DB::raw('SUM(points) as points'))) 
    ->group_by('azon') 
    ->paginate(20);