Laravel 5.2过滤器带下拉列表

时间:2016-03-24 15:33:12

标签: php html laravel laravel-5.2

我想制作下拉列表过滤。

我有一个网页,显示了一些标题和类别的帖子。

该页面在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>

1 个答案:

答案 0 :(得分:1)

这会让你开始:

假设你有一条路线:

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'));
}

您可以更改重定向位置。