2016-11-26 72 views
0

我需要獲取用戶的前10天活動。在我的情況下,我只獲得了10個活動記錄,而不是之前的10天活動。Laravel - 通過created_at字段分組數據並應用分頁

*我的代碼:

$activity = $this->where('user_id', '=', $userId)->paginate(10); 

$activities = collect($activity->items())->groupBy(function($item) { 
    return \Carbon\Carbon::parse($item->created_at)->format('d-M-Y'); 
}); 

$activity->setCollection($activities); 

dd($activity->toArray()); 

輸出:

enter image description here

+0

$活動= $這個 - >在哪裏(「USER_ID」,「=」,$用戶id) - > ** paginate(10); **這可能是一個問題,你需要把條件放在$ item-> created_at的頁面上,你將只有10行最大值。 –

回答

0

您正在使用分頁限制從數據庫獲取結果的數量。如果你想獲得此前10天,用戶的活動,那麼你可以寫你的查詢爲:

$activity = $this->where('user_id', '=', $userId) 
       ->where('created_at', '>=', \Carbon\Carbon::now()->subDays(10)) 
       ->get();