Php 方法App\Http\Controllers\CommentsController::store不存在。-拉威尔5.8

Php 方法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;

每当我在我的新闻文章或版面中写评论时,我总是会遇到这个错误。我无法解决这个错误。我试过几种方法,但都解决不了。有人知道怎么摆脱这个吗?请告诉我。多谢各位

CommentsController.php

<?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]);