Php 方法App\Http\Controllers\CommentsController::store不存在。-拉威尔5.8
每当我在我的新闻文章或版面中写评论时,我总是会遇到这个错误。我无法解决这个错误。我试过几种方法,但都解决不了。有人知道怎么摆脱这个吗?请告诉我。多谢各位 CommentsController.phpPhp 方法App\Http\Controllers\CommentsController::store不存在。-拉威尔5.8,php,laravel,Php,Laravel,每当我在我的新闻文章或版面中写评论时,我总是会遇到这个错误。我无法解决这个错误。我试过几种方法,但都解决不了。有人知道怎么摆脱这个吗?请告诉我。多谢各位 CommentsController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Comment; use App\News; use App\Graph; use Validator; use Session;
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Comment;
use App\News;
use App\Graph;
use Validator;
use Session;
class CommentsController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request, $news_id)
{
//
$this->validate($request, array(
'name'=> 'required | max:255',
'email'=> 'required| email | max:255',
'comment'=> 'required | min:5'
));
$news = News::find($news_id);
$comment = new Comment();
$comment->name = $request->name;
$comment->email = $request->email;
$comment->comment = $request->comment;
$comment->approved = true;
$comment->news()->associate($news);
$comment->save();
Session::flash('success', "Comment Added! ");
return redirect()->route('article/',[$news->id]);
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
您的
web.php
路由文件中有一个输入错误。第61行。从中删除额外的空间CommentsController@store“
你会没事的
Route::post('comments/{news_id}', ['uses' => 'CommentsController@store ', 'as' => 'comments.store']);
变成
Route::post('comments/{news_id}', ['uses' => 'CommentsController@store', 'as' => 'comments.store']);
return redirect()->route('article', [$news->id]);
第二个问题是操作末尾的重定向。没有名为article/
的路线。删除尾部斜杠
return redirect()->route('article/',[$news->id]);
变成
Route::post('comments/{news_id}', ['uses' => 'CommentsController@store', 'as' => 'comments.store']);
return redirect()->route('article', [$news->id]);
您是否尝试清理路由缓存(
php artisan route:clear
)?仍然收到相同的错误,先生您是否使用内置php服务器(php artisan serve
)、docker或本地服务器?嗯……我什么都没看到。你在本地运行这个吗?您的所有其他路线是否都按预期运行?我是否看到那里有额外的空间CommentsController@store“
?移除它。
Route::post('comments/{news_id}', ['uses' => 'CommentsController@store', 'as' => 'comments.store']);
return redirect()->route('article/',[$news->id]);
return redirect()->route('article', [$news->id]);