我正在查询我的用户返回它们的列表,这是一个例子
$user_list = DB::table('users')
->select('name','email','created_at')
->orderBy('created_at')
->get();
我看到了正确的结果,但我试图将这些结果拆分,以便按月分组。
是否有人有一些我可以阅读的文档或一些示例代码?
答案 0 :(得分:2)
试试这个:
$user_list = DB::table('users')
->select('name','email','created_at')
->orderBy('created_at')
->groupBy(DB::raw(MONTH('created_at')))
->get();
答案 1 :(得分:0)
文档中有一个部分,您可以在其中找到有关groupBy
方法的信息 - method
在你的代码中你可以写这个():
$user_list = User::select('name','email','created_at')
->orderBy('created_at')->get();// get User collection
$user_list->groupBy(function ($item, $key) {
return $item->created_at->format('m');
});
答案 2 :(得分:0)
$groupedUsers = $users->mapToGroups(function ($user, $key) {
return $user->created_at->month => $user;
});
这可能比其他一些代码少一些。他们都会工作。在此处,如果您的模型设置正确,则可以将$users
替换为User::all()
。