Laravel路由两个可选的

时间:2017-01-30 10:09:13

标签: php laravel laravel-5 laravel-routing

首先,我很乐意接受有关该标题的建议,因为我不知道如何在一行中解释我的问题。

我的路线看起来像那样

Route::get ('/i/{group?}/{name?}', 'Controller@index')->name('name');

问题是,当我转到/i//myname时,它会引发路由异常。

我做了两个条件因为我在控制器中有严格的验证。我想保留这种结构,但是我应该采用什么途径来使两个可选变量都起作用?

实施例。当您打开/i//myname以将您重定向到选择论坛页面时,以及/i/group///i/group/

1 个答案:

答案 0 :(得分:2)

我建议去选择参数。我的意思是你定义这样的路线:

Route::get ('/i', 'Controller@index')->name('name');

然后你把你的参数放到这个网址:

http://localhost/i?group=1&name=stack

从您的控制器中执行:

public function index(Request $request)
{
    if ($request->has('group') {
        $group = $request->group;
    }
    ...
}

你明白了。这可能有所帮助,但可能不是您想要的。