我有搜索多個模型的搜索方法。爲了簡單起見,我添加了兩個我正在搜索的模型。如何在Laravel中對多個模型進行分頁
我想結合這兩個模型來分析他們的結果。
這是我目前正在做的。
public function search(Request $request)
{
$query = $request->get('q');
$threads = Thread::where('title', 'LIKE', "%{$query}%")->get();
$posts = Post::where('body', 'LIKE', "%{$query}%")->get();
$results = array_merge($threads->toArray(), $posts->toArray());
$results = new Paginator($results, 10);
return view('pages.search', compact('query', 'results'));
}
這有效,但我覺得這是真的效率低下,可以改進。有一個更好的方法嗎?
代碼中存在一個錯誤。它應該是切片(($ currentPage-1)* $ perPage)。否則,你永遠不會得到第一個結果。 –