我创建了一个发票表单,其中有一个部分,用户可以在其中动态添加(通过jquery行添加)要开发票的项目。
我需要将这些数据保存到两个表中:Invoice and Invoiceitems
。这两个表通过MySQL关系具有one to many
,并且Laravel模型具有hasMany
和belongsTo
关系。
我的问题是如何将数据保存到Invoiceitems
表中。
答案 0 :(得分:0)
在您的App\Invoice
中,如下定义您与App\InvoiceItem
的关系:
public function items()
{
return $this->hasMany(InvoiceItem::class);
}
在您的App\InvoiceItem
模型中,如下定义您与App\Invoice
的关系:
public function invoice()
{
return $this->belongsTo(InvoiceItem::class);
}
要创建包含许多InvoiceItem的发票,您将需要执行以下操作:
$invoice->items()->saveMany([
new App\InvoiceItem(['title' => 'iPhone X']),
]);