我正在使用Laravel 4进行一个项目,我有一个"用户路线",可以按用户名显示用户配置文件:
Route::get("user/{username}", array( 'as' => 'userProfile', 'uses' => 'UserController@getProfile') );
但这里我有另一条显示用户消息的路线。
Route::get('user/messages', array( 'as' => 'userMessages', 'uses' => 'MessageController@getMessages') )
但这里发生了碰撞。Laravel认为"messages"是一个用户名,因为第一条路由。
我该如何解决这个问题?有人能帮我吗,谢谢。
routes.php
中定义的顺序处理这些路由时,您必须更改这些路由的顺序
所以,
Route::get('user/messages', array( 'as' => 'userMessages', 'uses' => 'MessageController@getMessages') )
在之前
Route::get("user/{username}", array( 'as' => 'userProfile', 'uses' => 'UserController@getProfile') );
然后,在您的User
验证中,您必须防止任何人选择用户名messages