dragonika8
@dragonika8
FrontEnd-Разработчик

Как правильно сделать фильтр в Laravel?

У меня есть коллекция зданий и вместе с ними прикрепляются посты связанные с этими зданиями. У постов есть разновидность "Новости => 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


И у меня появляется вот такая коллекция

5f29624704a11217461447.png

Там есть переменная "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()
        ]);
    }
  • Вопрос задан
  • 142 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы