Я работаю над проектом с использованием Laravel 4, у меня есть «пользовательский маршрут», чтобы показывать профили пользователей по их имени пользователя:
Route::get("user/{username}", array( 'as' => 'userProfile', 'uses' => 'UserController@getProfile') );
Но здесь у меня есть другой маршрут, который показывает сообщения пользователя.
Route::get('user/messages', array( 'as' => 'userMessages', 'uses' => 'MessageController@getMessages') )
Но здесь есть столкновение. Laravel считает, что «сообщения» являются именем пользователя из-за первого маршрута.
Как я могу обойти это? Может ли кто-нибудь помочь мне, спасибо.
Вы должны изменить порядок этих Маршрутов, поскольку 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
имени пользователя