我正在制作一个婚礼策划应用程序,用户可以将他们的客人添加到特定的桌子、群组等......
我正在尝试列出所有群组,并在每个群组内显示该群组中的每个访客(在同一页面中,如手风琴中)
看起来很简单,而且它可以工作,但是在使用DebugBar时,我可以看到它发出了 2 个完全相同的查询,而我无论如何也找不到原因。
一个活动可以有多个组,每个组可以有多个嘉宾。
$event = Event::find($id_event);
$event->load('group');
$event->group->load([
"guest" => function ($q) {
return $q->paginate(10);
}
]);
编辑
忘了提一下,如果我添加任何其他关系,它也会重复它们。
$event->group->load([
'guest.plusone',
"guest" => function ($q) {
$q->paginate(10);
}
]);
编辑2
在尝试按照您的建议去做时,我发现了导致其的原因,但仍然不知道为什么。
当我尝试按照你的建议去做时,我得到了同样的结果
$event->load(['group', 'group.guest' => function ($query) {
$query->paginate(10);
}]);
但如果我删除分页的回调,我只会得到一个查询。这是正常的吗?我知道分页会执行一个额外的查询来获取总结果,但在这种情况下,它会进行 3 个查询,其中 2 个完全相同