为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
开心每一天1111 2024-01-19 10:40:06
我仍在探索 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;    }}
查看完整描述

5 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

如果您希望在生成操作 URL 时添加命名空间前缀,请进入您的RouteServiceProvider并将$namespace属性设置为。App\Http\Controllers

否则,您应该通过控制器的完全限定类名称 (FQCN) 来引用控制器。

['action' => 'App\Http\Controllers\PostsController@store', ...]


查看完整回答
反对 回复 2024-01-19
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

您应该在表单中使用路线而不是操作。尝试类似的东西

{!! Form::open(['route' => 'products.store', 'method' => 'POST']) !!}


查看完整回答
反对 回复 2024-01-19
?
守候你守候我

TA贡献1802条经验 获得超10个赞

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


查看完整回答
反对 回复 2024-01-19
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

这有助于我访问 PostsController 中的商店功能

Form::open(['route' => 'posts.store'])

我的路线

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


查看完整回答
反对 回复 2024-01-19
?
浮云间

TA贡献1829条经验 获得超4个赞

或者,您可以尝试在您的情况下使用命名路由,因为这是一种资源,PostsController您应该具有路由名称posts.store

route('posts.store')

传入请求的实例将由PostsController@storeLaravel 服务容器作为参数自动注入到您的定义中。

我有类似的情况,但我没有使用资源控制器。所以我必须明确定义该特定操作的路线。


查看完整回答
反对 回复 2024-01-19
  • 5 回答
  • 0 关注
  • 48 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信