2016-12-04 184 views
1

路线中添加一个变量我希望能够给一个变量添加到引导到控制器的路径。通过与静态路由laravel

我见过它做的唯一方法是,如果路径本身是动态的。但是,在我的情况下,我想要一个静态的URL,将一个静态变量发送到控制器。其原因是会有两条静态路由通过变量以不同的方式使用相同的控制器。

我有麻烦的文档中发现这一点。

所有我发现这是

Route::get('posts/{post}/comments/{comment}', function ($postId, $commentId) { 

我想要做相同的,但有评论{}和{}后,但两个变量被发送到控制器。

任何帮助将会很棒!

+0

我不明白为什么你不会用一个路线有变?这就是它的意义所在。在你的应用程序的某个地方,你可能有一个逻辑来决定传递哪个值,为什么你会有两条路线? – kasijus

+0

所以基本上我应该使逻辑包括我只想要的两个,并在我不想要的所有url上给出一个错误? –

+0

好吧,如果你是一个控制这些网址,是的......你可以做一些简单的验证,如果你想,叫findOrFail,或者只是加入白名单的值,验证和手动抛出404 ... ...但肯定没有必要创建两个路线。 – kasijus

回答

0

Forexample:

Route::get('posts/{post}/comments/{comment}', ['as'=> 'viewComment', 'uses'=>'[email protected]']); 

控制器:

public function viewComment ($post, $comment) 
    { 
     dd($post.'/'.$comment); 
    }