Laravel 拉维尔的路线混乱

Laravel 拉维尔的路线混乱,laravel,routes,Laravel,Routes,我在做一个项目,我有两条路线 Route::get('project/{id}', [ 'as'=>'add_project_info.project' , 'uses'=>'ProjectController@add_project_info']); Route::get('project/notes/', ['as'=>'notes.project','uses'=>'NotesController@index']); Route::get(

我在做一个项目,我有两条路线

Route::get('project/{id}',          [ 'as'=>'add_project_info.project' , 'uses'=>'ProjectController@add_project_info']);
Route::get('project/notes/',    ['as'=>'notes.project','uses'=>'NotesController@index']);
Route::get('project/notes/',    ['as'=>'notes.project','uses'=>'NotesController@index']);
Route::get('project/{id}',          [ 'as'=>'add_project_info.project' , 'uses'=>'ProjectController@add_project_info']);
现在的问题是,当我在url中调用“project/notes/”时,它会重定向到“project/{id}”。laravel假设“notes”是第一条路由的“id”。当我像这样移动路线时

Route::get('project/{id}',          [ 'as'=>'add_project_info.project' , 'uses'=>'ProjectController@add_project_info']);
Route::get('project/notes/',    ['as'=>'notes.project','uses'=>'NotesController@index']);
Route::get('project/notes/',    ['as'=>'notes.project','uses'=>'NotesController@index']);
Route::get('project/{id}',          [ 'as'=>'add_project_info.project' , 'uses'=>'ProjectController@add_project_info']);

那么它就完美地工作了。请给我建议一些更好的方法来解决这个问题,谢谢。这就是它的工作原理。Laravel将为给定URI使用第一个合适的路由。因此,唯一可行的方法是改变路线顺序,如下所示:

Route::get('project/notes/', ['as' => 'notes.project', 'uses' => 'NotesController@index']);
Route::get('project/{id}', ['as' => 'add_project_info.project', 'uses' => 'ProjectController@add_project_info']);

这是唯一的方法吗?@Sandepsing这是唯一正确的方法。你有什么不喜欢的理由吗?#Alexey Mezenin没有,先生没有任何具体的原因,我只是想知道还有什么其他的方法可以做到这一点,顺便说一句,非常感谢先生。