У меня есть функция поиска, которая выполняет поиск в нескольких моделях и возвращает результаты, теперь я хотел бы объединить все эти результаты модели в одну переменную, чтобы я мог использовать только одну переменную в моем блейде.
Как я могу это сделать?
Код
public function results(Request $request) {
$q = $request->input('q');
$products = Product::where('name', 'like', "%{$q}%")
->orWhere('body', 'like', "%{$q}%")
->paginate(9);
$posts = Post::where('name', 'like', "%{$q}%")
->orWhere('body', 'like', "%{$q}%")
->paginate(9);
$pages = Page::where('name', 'like', "%{$q}%")
->orWhere('body', 'like', "%{$q}%")
->paginate(9);
$tags = Tag::where('name', 'like', "%{$q}%")
->paginate(9);
$jobs = Job::where('name', 'like', "%{$q}%")
->orWhere('body', 'like', "%{$q}%")
->paginate(9);
$categories = Category::where('name', 'like', "%{$q}%")
->orWhere('body', 'like', "%{$q}%")
->paginate(9);
$listings = Listing::where('name', 'like', "%{$q}%")
->orWhere('body', 'like', "%{$q}%")
->paginate(9);
$portfolios = Portfolio::where('name', 'like', "%{$q}%")
->orWhere('body', 'like', "%{$q}%")
->paginate(9);
$services = Service::where('name', 'like', "%{$q}%")
->orWhere('body', 'like', "%{$q}%")
->paginate(9);
return view('front.pages.search', compact('products', 'q', 'pages', 'posts', 'tags', 'jobs', 'categories', 'listings', 'portfolios', 'services'))->withQuery($q);
}