У меня есть коллекция зданий и вместе с ними прикрепляются посты связанные с этими зданиями. У постов есть разновидность "Новости => 2" и "Акции => 1" как можно правильно отфильтровать.
С помощью данного метода я получаю все здания
public function stocksIndex() {
return view('posts.index', [
'page' => Page::whereRoute('stocks.index')->first(),
'buildings' => Building::showInPosts()->get()
]);
}
И в blade я вывожу их так
@foreach ($building->posts as $post)
<div class="grid__col-4 grid__col_md_6 grid__col_sm_1 mb-2">
@include('posts.card', ['post' => $post])
</div>
@endforeach
И у меня появляется вот такая коллекция
Там есть переменная
"category_id" => 1
И получается мне нужно указать сразу какая категория постов будет выводить на странице, как можно это правильно отфильтровать ?
Я попробовал вот такой способ, но что-то не работает
public function stocksIndex() {
return view('posts.index', [
'page' => Page::whereRoute('stocks.index')->first(),
'buildings' => Building::showInPosts()->whereHas('posts', function($stocks) {
$stocks->where('category_id', 1);
})->get()
]);
}