我最近将控制器移到了Admin
目录。
namespace App\Http\Controllers\Admin;
Controller
类:use App\Http\Controllers\Controller;
在我的控制器中,我重定向到控制器的index()
操作。
return redirect()->action('ServiceController@index');
现在出现以下错误:
InvalidArgumentException操作 未定义App \ Http \ Controllers \ ServiceController @ index。
我不知道如何在文档中声明新的操作重定向,因此我将问题发布在这里。
路线
Route::group(['namespace' => 'Admin', 'prefix' => 'admin'], function () {
Route::resource('projects', 'ProjectController');
Route::resource('services', 'ServiceController');
Route::resource('projectFiles', 'ProjectFileController');
Route::get('seed', 'SeedController@seedDatabase')->name('seed');
});
这是我正在谈论的控制器部分:
class ServiceController extends Controller
{
public function index()
{
return view('admin.services.index', [
'services' => Service::all()
]);
}
public function create()
{
return view('admin.services.create');
}
public function store(Request $request)
{
try {
Service::create([
'name' => $request->name,
'machine_name' => snake_case($request->name),
'description' => $request->description
]);
return redirect()->action('\App\Htpp\Controllers\Admin\ServiceController@index');
} catch (\Throwable $th) {
throw $th;
}
}
}
答案 0 :(得分:0)
我想我找到了答案,但是如果我错了,任何人都可以纠正我。
在RouteServiceProvider
中,命名空间设置为App\Http\Controllers
:
protected $namespace = 'App\Http\Controllers';
所以我决定在控制器名称之前添加Admin \,现在重定向有效:
return redirect()->action('Admin\ServiceController@index');