Laravel刀锋路线奇怪的行为回归?而不是/在数组参数上

时间:2014-03-08 22:22:01

标签: php laravel laravel-4

我是Laravel的新手,偶然发现了一个(至少对我而言)奇怪的行为: 我有以下指向路线的链接:

<a href="{{ route('nameofroute',$var->id) }}">{{ $var->desc }}</a>

生成的链接

way/to/myroute?100 

而不是

way/to/myroute/100

iam在我的代码中的各个地方使用它,并且它正常工作,我想这是我的routes.php,但我找不到错误。

Route::get('way/to/myroute', [ 'as' => 'nameofroute', 'uses' => 'MyController@getMyfunc' ]);

2 个答案:

答案 0 :(得分:2)

您未提供参数{idoranything},因此您获得了way/to/myroute?100而不是way/to/myroute/100。您的路线声明应该是这样的:

Route::get('way/to/myroute/{id}', [ 'as' => 'nameofroute', 'uses' => 'MyController@getMyfunc' ]);

因此url可以是way/to/myroute/100,您可以使用route('nameofroute',$var->id)

答案 1 :(得分:1)

这是因为您没有正确设置路线。您需要添加ID参数,如下所示:

Route::get('/nameofroute/{id}', array('uses' => 'Controller@getRoute', 'as' => 'nameofroute'));

Laravel将自动检测到您希望参数在那里并将其添加到URL。