Я использую laravel 5.6 и в своем PostController пытаюсь это изменить:
public function store(Request $request)
{
$post = new PostRepository();
$post->body = $request->input('body');
$post->user_id = $request->input('user_id');
$post->save();
return redirect('home');
}
к этому:
public function store()
{
PostRepository::create(Input::all());
return redirect('home');
}
но я получаю сообщение об ошибке: «ReflectionException в строке 280 Route.php: Class App \ Http \ Controllers \ PostController не существует».
Первое работает, второе - нет. Я видел другие ответы на эту ошибку, но у меня ничего не работает. Я сравнил написание моего контроллера с тем, что у меня в routes.php, также пространства имен, это нормально.
Это мой файл routes.php:
Route::group(['middleware' => ['web']], function () {
Route::get('/', 'PostController@index');
Route::post('/home', 'PostController@store');
});
да. Я слежу за учебником Laracast, представляющим laravel. Я просто заменил то, что у меня было, на то, что я видел в учебнике в моем файле контроллера. Может, я что-то упускаю из-за Eloquent.
Попробуйте этот ответ. composer dumpautoload.
Ага .... composer dump-autoload -o должен это исправить.
Это сработало !! После 'composer dumpautoload' я получил ошибку с классом Input (я забыл его импортировать). Большое спасибо: D






Запуск "composer dump-autoload -o" решил эту проблему.
Он работает нормально, пока вы не измените то, что находится внутри метода store?