加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Laravel“类型错误:使用PUT / PATCH方法更新记录时

发布时间:2020-12-14 19:35:33 所属栏目:大数据 来源:网络整理
导读:当我运行更新控制器它给我这个错误,我尝试从这个相同的平台有这个错误的不同的解决方案但他们的修复是用这样的保存($product)的单独语法更新.我正在使用Model Store进行身份验证并保存数据或编辑删除. “Type error: Argument 1 passed to IlluminateDataba
当我运行更新控制器它给我这个错误,我尝试从这个相同的平台有这个错误的不同的解决方案但他们的修复是用这样的保存($product)的单独语法更新.我正在使用Model Store进行身份验证并保存数据或编辑删除.

“Type error: Argument 1 passed to
IlluminateDatabaseEloquentRelationsHasOneOrMany::save() must be an
instance of IlluminateDatabaseEloquentModel,array given,called in
C:xampphtdocsshoppingappHttpControllersProductController.php on
line 138 ?”

更新方法

public function update(Request $request,Product $Product){
      $store = Store::where('user_id',Auth::user()->id)->first();
      $updateProduct = $store->product()->save([
         'name'=> $request->input('name'),'description' => $request->input('description'),'normal_price' => $request->input('normal_price'),'sale_price' => $request->input('sale_price'),'category_id' => $request->input('category_id'),]);
         return redirect('product')->with('status','Product Updated');
 }

查看编辑表单

<form method="post" action="{{route('product.update',$product->id)}}">
                                {{ csrf_field() }}
                                {{ method_field('PUT') }}

解决方法

当您使用save() Laravel expects model时.

使用create()方法.改变这个:

$updateProduct = $store->product()->save([

至:

$updateProduct = $store->product()->create([

或者这样做:

$updateProduct = $store->product()->save(new Product([
    'name'=> $request->input('name'),]));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读