Маршрутные столкновения в Ларавеле 4

Я работаю над проектом с использованием 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 имени пользователя