我试图更新多行,但我面临一个数组到字符串转换错误。捐赠物品捐赠是一对多关系,最多可以更新5种类型的物品。我已经尝试过使用Update multiple rows of database in Laravel中的解决方案并使用了saveMany()方法,但我还是无法更新给定的行。
这是我尝试的内容:
export class IAjaxAdapter {
static implement: typeof IAjaxAdapterInstance;
}
答案 0 :(得分:0)
更改行
$donation->donationItems()->save($item);
有关
$item->save();
由于您已经在donation_id
上设置了$item
,因此您无需通过关系保存它们
答案 1 :(得分:0)
您可以使用update()
方法创建一个查询而不是N个查询:
DonationItems::where('donation_id', $donationId)
->update([
$item->name = $r->item-name;
$item->quantity = $r->item-quantity;
$item->donation_id = $donation->id;
]);
只要您在模型中正确使用$fillable
数组,这将有效:
protected $fillable = ['name', 'quantity', 'donation_id'];