1

我正在使用 Laravel 4 开发一个项目,我有一个“用户路线”来通过用户名显示用户个人资料:

Route::get("user/{username}", array( 'as' => 'userProfile', 'uses' => 'UserController@getProfile') );

但在这里我有另一条路线显示用户的消息。

Route::get('user/messages', array( 'as' => 'userMessages', 'uses' => 'MessageController@getMessages') )

但是这里发生了碰撞。Laravel 认为“消息”是一个用户名,因为 first Route。

我该如何解决这个问题?谁能帮帮我,谢谢。

4

1 回答 1

3

您必须更改这些路由的顺序,因为 Laravel 会按照它们定义的顺序处理它们routes.php

所以,

Route::get('user/messages', array( 'as' => 'userMessages', 'uses' => 'MessageController@getMessages') )

来之前

Route::get("user/{username}", array( 'as' => 'userProfile', 'uses' => 'UserController@getProfile') );

然后在您的User验证中,您必须阻止任何人选择用户名messages

于 2013-12-01T18:30:45.793 回答