Laravel 5.4将表单选择选项值传递给Route :: get

时间:2017-08-17 20:02:54

标签: model-view-controller laravel-5 get routes

我正在尝试在Laravel 5.4项目中执行以下操作。

在users.index刀片页面中,我列出了表格中数据库的所有用户。 所有用户都属于某个区。有些地区的用户比另一个地区多。

在此表视图的顶部,我创建了一个带有选择字段的表单。选项包含10个区的ID:

<form class="form-horizontal" method="GET" action="/users/district">

            <div class="form-group col-md-5">
                <select name="district" class="form-control">
                    <option value="1">Amsterdam</option>
                    <option value="2">Arnhem</option>
                    <option value="3">Assen</option>
                    <option value="4">Groningen</option>
                    <option value="5">Leeuwarden</option>
                    <option value="6">Rotterdam</option>
                    <option value="7">Sittard</option>
                    <option value="8">Tilburg</option>
                    <option value="9">Utrecht</option>
                    <option value="10">Antillen</option>
                </select>
            </div>

            <div class="form-group col-md-4 col-md-offset-1">
                <button class="btn btn-md btn-primary">Haal gegevens op</button>
            </div>

            </form>

当我输入网址&#34; http://localhost/users/district/5&#34;在浏览器中手动显示一个表格视图,其中只有来自区域内ID为5的用户。

这是我的UsersController:

public function perDistrict($district)
{
    $users = User::where('district_id', $district)
    ->paginate(12);

    $totalusers = User::count();

    return view('users.index', compact('users', 'totalusers'));
    }

我想使用该表单来获取结果,但是当我提交表单时,它会显示此网址:&#34; http://localhost/users/district?district=5&#34;当然,它没有给我任何结果。

如何将其转换为网址&#34; http://localhost/users/district/5&#34; ?

这是我的路线:

Route::get('users/district/{district}', 'UsersController@perDistrict');

希望有人可以帮助我。

1 个答案:

答案 0 :(得分:0)

https://www.codecourse.com/lessons/laravel-fundamentals/729为我做了一些自定义的技巧。