目前我正在使用Laravel scout搜索我的整个网站。因此,当有人搜索邮件时,我会将其返回:
public function messages($search)
{
return Message::search($search)->paginate(4);
}
但现在我要发送相关论坛aswel。已经尝试过这个:
public function messages($search)
{
return Message::search($search)->load('forum')->paginate(4);
}
这不起作用。我怎么能这样做?
答案 0 :(得分:1)
我现在只能给你这个解决方法。您可以手动加载论坛数据:
$messages = Message::search($search)->paginate(4);
$forums = Forum::whereIn('id', $messages->pluck('id'))->get();
return compact('messages', 'forums'); // Return an array of messages and related forums.
答案 1 :(得分:0)
解决方案:
$message = Message::search($query)->paginate(25);
// while this returns a Collection, it also updates the $message Paginator.
$message->load('forum');
$message
现在就是结果。
您可以获得分页器上的数据...更多详细信息。 https://gist.github.com/Artistan/fea3e21f149fdf845e530299bcff37d4
答案 2 :(得分:0)
我在tntsearch中使用Laravel Scout,这就是我解决问题的方式。
$ids = Message::search($search)->keys()->toArray();
$messages = Message::with('forum')->whereIn('id', $ids)->get();