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路由系统的正确方法。当您真正想要命名路由(如检查您的答案)作为解决方案时,您正在尝试这样做,这对其他用户很有用:)