如何在Laravel 4中将变量声明为路径名?

Mar*_*rra 2 php routing laravel laravel-4

我想将变量传递给路线('video.'.$ video ['video_id']);

这是我在控制器上的路线..

Route::get('/video/{id}', array('as' => 'video', 'uses' => 'VideoController@show'));
Run Code Online (Sandbox Code Playgroud)

是否有可能这样做

Route::get('/video/{id}', array('as' => 'video.{id}', 'uses' => 'VideoController@show'));
Run Code Online (Sandbox Code Playgroud)

不知何故?

tre*_*ace 12

命名路由背后的整个想法是,即使您更改它使用的URI或控制器/方法,您也可以始终按名称引用路由.这意味着该名称应该是一个常量,不变的字符串.如果要将变量注入路径,则应使用路径参数.

如果您设置路线声明如下:

Route::get('/video/{id}', array('as' => 'video', 'uses' => 'VideoController@show'));
Run Code Online (Sandbox Code Playgroud)

然后你可以像这样建立你的路线:

<a href="{{URL::route('video', array($id))}}">Thing</a>
Run Code Online (Sandbox Code Playgroud)