它可能是laravel中的一个错误,但不确定,需要你的建议来解决这个问题。
问题是当你在路由下使用多个控制器时:group with controller子目录,除了一个控制器,其他控制器是404s。 这是我对senerio的详细代码审查:
路线
#routes.php
#Settings
Route::group(array('prefix' => 'setting'), function() {
#Index
Route::controller('/', 'Setting\IndexController',[
'getIndex'=>'index/setting'
]);
#company detail
Route::controller('company', 'Setting\CompanyController',[
'getInfo'=>'info/company',
'getEdit'=>'update/company'
]);
});
控制器
IndexController.php
#/app/Http/Controllers/Setting/IndexController.php
namespace App\Http\Controllers\Setting;
use App\Http\Controllers\Controller;
class IndexController extends Controller {
public function getIndex(){
return "setting.index";
}
}
CompanyController.php
namespace App\Http\Controllers\Setting;
use App\Http\Controllers\Controller;
class CompanyController extends Controller {
public function getInfo(){
return ('setting.company.index');
}
public function getEdit(){
return ('setting.company.edit');
}
}
目前它不起作用,但当你评论一个路线::控制器其他将工作正常,反之亦然。 如果删除一个路由:控制器并添加路由,如:
Route::get('/', array('as' => 'index/setting', 'uses' => 'Setting\IndexController@getIndex'));
比两者都能正常工作。
但是我需要对路由下的所有控制器使用route:controller:group。
所以,如果还有什么遗漏要解释让我知道,我会进一步深入更新。 任何帮助都会很明显。