我的数据透视表中有 4 个额外的属性('product_id'、'quantity'、'discount_percent'、'discount_amount'),但我存储时这些属性的值始终为 0,而其余属性则正确填充。有任何想法吗?
发票模型
public function productversion()
{
return $this->belongsToMany('App\Productversion')->withPivot('product_id', 'quantity', 'discount_percent', 'discount_amount')->withTimestamps();
}
产品版本模型
public function invoice()
{
return $this->belongsToMany('App\Invoice')->withPivot('product_id', 'quantity', 'discount_percent', 'discount_amount')->withTimestamps();
}
Controller (商店)
$invoice->productversion()->attach($productversionid, ['product_id' => $productid], ['quantity' => $qty], ['discount_percent' => $discountprc], ['discount_amount' => $discountamt]);
最佳答案
只需一个数组即可:
$invoice->productversion()->attach($productversionid, [
'product_id' => $productid,
'quantity' => $qty,
'discount_percent' => $discountprc,
'discount_amount' => $discountamt
]);
关于laravel - 将额外的属性附加到 Laravel 数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39169519/