2016-11-26 37 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();