我在 Blade 有這樣的表格:
<form role="form" method="POST" action="{{ route('products.post.vars', $product->id) }}">
@csrf
@foreach($attributes as $attribute)
<div class="form-group">
<label for="var_{{$loop->index 1}}">Price</label>
<input hljs-string">" type="text" name="var_{{$loop->index 1}}" value="" hljs-string">" id="var_toman_{{$loop->index 1}}">
</div>
</form>
現在為了提交這些資料并更新表中的記錄,我撰寫了以下代碼:
try{
$attributes = AttributeProduct::where('product_id',$product->id)->where('attribute_changeable',1)->get();
for($i=0;$i<count($attributes);$i ){
$iterator = $i 1;
$attributes[$i]->product_price = $request->input("var_$iterator");
$attributes->save();
}
}
catch (\Exception $e) {
dd($e->getMessage());
}
但現在我得到這個錯誤:
方法 Illuminate\Database\Eloquent\Collection::save 不存在。
那么這里出了什么問題?我該如何解決這個問題?
uj5u.com熱心網友回復:
您需要指定要將資料保存到的索引
try{
$attributes = AttributeProduct::where('product_id',$product->id)
->where('attribute_changeable',1)
->get();
for($i=0;$i<count($attributes);$i ) {
$iterator = $i 1;
$attributes[$i]->product_price = $request->input("var_$iterator");
$attributes[$i]->save();
}
} catch (\Exception $e) {
dd($e->getMessage());
}
uj5u.com熱心網友回復:
您需要使用 $attributes[$i]->save(); 保存 currant 屬性
try{
$attributes = AttributeProduct::where('product_id',$product->id)->where('attribute_changeable',1)->get();
for($i=0;$i<count($attributes);$i ){
$iterator = $i 1;
$attributes[$i]->product_price = $request->input("var_$iterator");
$$attributes[$i]->save();
}
}
catch (\Exception $e) {
dd($e->getMessage());
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/439697.html
標籤:php 拉拉维尔 laravel-8 laravel-9
上一篇:滿足條件的Laravel搜索查詢
下一篇:正則運算式在特定單詞后捕獲大括號
