Я хочу создать фильтрацию списка вниз.
У меня есть веб-страница, на которой показаны некоторые записи с заголовками и категориями.
На странице есть раскрывающийся nav.blade.php
на nav.blade.php
. Я динамически генерирую раскрывающееся меню из таблицы категорий. Но когда я выбираю элемент раскрывающегося списка (например, название категории), я хочу, чтобы страница показывала мне сообщения только этой категории. Также я создал модель Category и Posts и установил отношения. Я могу видеть все сообщения на главной странице, но не могу отфильтровать содержимое в раскрывающемся списке.
Что я делаю неправильно? и как я могу решить эту проблему?
Мой nav.blade:
<li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a> <ul class="dropdown-menu"> <li>@foreach($categories as $category) <a href="{{URL::route('home',$category->id)}}"> <option value="{{$category->id}}">{{ $category->name }}</option> </a> @endforeach </li> </ul> </li>
Это поможет вам начать:
Предполагая, что у вас есть маршрут:
Route::get('/{category_id}', ['as'=>'home', 'uses'=>'PostController@show']);
В PostController@show
:
public function show($category_id) { $categories = Category::all(); $selected_category = Category::with('posts')->where('id', $category_id)->first(); $posts = $selected_category->posts; return redirect()->back()->with(compact('posts', 'categories')); }
Вы можете изменить местоположение перенаправления.