gpt4 book ai didi

php - Laravel“类型错误 : While Updating Records with PUT/PATCH Methods

转载 作者:可可西里 更新时间:2023-11-01 00:18:33 24 4
gpt4 key购买 nike

当我运行更新 Controller 时,它给了我这个错误,我尝试了来自同一个平台的不同解决方案,但他们的解决方法是使用单独的 save($product) 语法进行更新。我正在使用模型商店进行身份验证和保存数据或编辑删除。

"Type error: Argument 1 passed to Illuminate\Database\Eloquent\Relations\HasOneOrMany::save() must be an instance of Illuminate\Database\Eloquent\Model, array given, called in C:\xampp\htdocs\shopping\app\Http\Controllers\ProductController.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'),
'description' => $request->input('description'),
'normal_price' => $request->input('normal_price'),
'sale_price' => $request->input('sale_price'),
'category_id' => $request->input('category_id'),
]));

关于php - Laravel“类型错误 : While Updating Records with PUT/PATCH Methods,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48075053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com