Laravel 8 中未定义操作 Controller@store 的问题

我仍在探索 Laravel 8,但我的控制器的 store() 方法“未定义”有问题。


InvalidArgumentException 操作 PostsController@store 未定义。(查看:D:\Server\htdocs\app\resources\views\posts\create.blade.php)


我相信我实际上已经定义了它并且我使用了资源路线。


路线


Route::resource('posts', PostsController::class); 

刀刃


@extends('layouts.app')


@section('content')

    <h1>Create Post</h1>


    {!! Form::open(['action' => 'PostsController@store', 'method' => 'POST']) !!}

    <div class="form-group">

        {{Form::label('title', 'Title')}}

        {{Form::label('title', ['class' => 'form-control','placeholder' =>'Title'])}}

    </div>

    <div class="form-group">

        {{Form::label('body', 'Body')}}

        {{Form::textarea('body', ['class' => 'form-control','placeholder' =>'Body'])}}

    </div>


    {{Form::submit('Submit',['class' =>'btn btn-primary'])}}

    {!! Form::close() !!}


@endsection

控制器


class PostsController extends Controller

{

    public function create()

    {

        return view('posts.create');

    }


    public function store(Request $request)

    {

        $this->validate($request, [

            'title' => 'required',

            'body' => 'required'

        ]);


        return 143;

    }

}

https://img1.sycdn.imooc.com/65a9e14b00018d6313720189.jpg

开心每一天1111
浏览 133回答 5
5回答

繁星coding

如果您希望在生成操作 URL 时添加命名空间前缀,请进入您的RouteServiceProvider并将$namespace属性设置为。App\Http\Controllers否则,您应该通过控制器的完全限定类名称 (FQCN) 来引用控制器。['action'&nbsp;=>&nbsp;'App\Http\Controllers\PostsController@store',&nbsp;...]

呼啦一阵风

您应该在表单中使用路线而不是操作。尝试类似的东西{!!&nbsp;Form::open(['route'&nbsp;=>&nbsp;'products.store',&nbsp;'method'&nbsp;=>&nbsp;'POST'])&nbsp;!!}

守候你守候我

“你需要声明一条路线,以便操作方法可以找到你正在谈论的路线”

蛊毒传说

这有助于我访问 PostsController 中的商店功能Form::open(['route'&nbsp;=>&nbsp;'posts.store'])我的路线是Route::resource('posts','PostsController');

浮云间

或者,您可以尝试在您的情况下使用命名路由,因为这是一种资源,PostsController您应该具有路由名称posts.storeroute('posts.store')传入请求的实例将由PostsController@storeLaravel 服务容器作为参数自动注入到您的定义中。我有类似的情况,但我没有使用资源控制器。所以我必须明确定义该特定操作的路线。
打开App,查看更多内容
随时随地看视频慕课网APP