我正在尝试按截止日期对任务进行分组,以显示在列表中。
2015年1月1日星期三 任务1 任务2
等
这是功能:
public function index()
{
$user = Auth::user();
$tasks = $user->tasks()->orderBy('due_at','ASC')->get();
$tasks_group = $tasks->groupBy('due_at');
return view('tasks.index', compact('tasks_group'));
}
但是我收到了错误:
array_key_exists()
:第一个参数应该是字符串或整数
我尝试了其他一些方法,但每个日期只返回一项任务。
对我在这里做错的任何帮助都会很棒。
答案 0 :(得分:0)
您需要急切加载tasks
关系,然后执行groupBy
。
请尝试以下代码:
$user = Auth::user();
$user->load(['tasks' => function ($q) {
$q->orderBy('due_at', 'ASC');
}]);
$tasks_group = $user->tasks->groupBy('due_at');
return view('tasks.index', compact('tasks_group'));