Php 具有2个参数的拉威尔路线

Php 具有2个参数的拉威尔路线,php,laravel,Php,Laravel,我有路线结构: Route::group(array('before' => 'auth'), function() { Route::controller('/app/{companyId}', 'AppController'); Route::controller('/app/{companyId}/projects/{projectId}', 'ProjectsController'); Route::controller('/app/{companyId}/

我有路线结构:

Route::group(array('before' => 'auth'), function() {
    Route::controller('/app/{companyId}', 'AppController');
    Route::controller('/app/{companyId}/projects/{projectId}', 'ProjectsController');
    Route::controller('/app/{companyId}/task/{taskId}', 'TasksController');
    Route::controller('/app/{companyId}/bugs/{bugId}', 'BugsController');
    Route::controller('/app/{companyId}/comments/{commentId}', 'CommentsController');
    Route::controller('/app/{companyId}/calendar', 'CalendarController');
    Route::controller('/', 'CompaniesController');
});
但当我试图打开/app/3/project/1时,它不起作用:

Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
Controller method not found.
什么会导致这个问题

正确的解决方案:检查路线的正确顺序(最长的mut位于顶部):

Route::controller('app/{companyId}/project/{projectId}', 'ProjectsController');
Route::controller('app/{companyId}/task/{taskId}', 'TasksController');
Route::controller('/app/{companyId}/bugs/{bugId}', 'BugsController');
Route::controller('/app/{companyId}/comments/{commentId}', 'CommentsController');
Route::controller('/app/{companyId}/calendar', 'CalendarController');
Route::controller('/app/{companyId}', 'AppController');
Route::controller('/', 'CompaniesController');
试试这个:

首先,您必须指定路由方法(get或post),然后必须使用@join连接,操作名称将在指定的控制器中执行

Route::get('/app/{companyId}/bugs/{bugId}', 'BugsController@actionname');

一点点的实验,我发现了一个错误。原因在于路线的位置。这很有效

Route::controller('app/{companyId}/project/{projectId}', 'ProjectsController');
Route::controller('app/{companyId}/task/{taskId}', 'TasksController');
Route::controller('/app/{companyId}/bugs/{bugId}', 'BugsController');
Route::controller('/app/{companyId}/comments/{commentId}', 'CommentsController');
Route::controller('/app/{companyId}/calendar', 'CalendarController');
Route::controller('/app/{companyId}', 'AppController');
Route::controller('/', 'CompaniesController');

谢谢

这不是使用Laravel路由系统的正确方法。当您真正想要命名路由(如检查您的答案)作为解决方案时,您正在尝试这样做,这对其他用户很有用:)