0

我是 laravel 的新手,并试图弄清楚如何执行以下操作:

我有一条看起来像这样的路线:

Route::resource('users', 'UsersController');

它使用这样的查询:

public function show()
{
    $users = DB::select('select * from users WHERE Active = "Y"');
    return View::make('users.show')->with('users', $users);
}

它显示得很好。但在视图的结果上方,我有一个表单,允许某人通过说名字或姓氏进行搜索。我不知道如何在 laravel 中做到这一点。我不确定我是否需要一个不同的函数来期待那些可选的搜索参数,或者我是否可以使用 show 函数并只检查值?

4

1 回答 1

0

出于安全原因, Laravel 会去除所有 GET 查询参数(/user?name=John),因此您要么必须使用 POST,要么将它们作为路由参数(/user/John)传递。

使用 POST 您将可以访问Input。您将能够提供如下默认值:

Route::post('user', function()
{
    return Input::get('name', 'John');
});

对于路由参数,您可以像这样定义可选参数:

Route::get('user/{name?}', function($name = 'John')
{
    return $name;
});

您将无法使用资源控制器,因为它们不允许您定义自定义端点,只能定义基本的GET/POST by ID端点。

我知道您不喜欢在路由定义中定义路由处理程序。有RESTful 控制器

于 2013-09-06T21:18:50.863 回答