Laravel雄辩:使用关系保存数据

时间:2019-01-03 08:51:00

标签: mysql laravel

我创建了一个发票表单,其中有一个部分,用户可以在其中动态添加(通过jquery行添加)要开发票的项目。 我需要将这些数据保存到两个表中:Invoice and Invoiceitems。这两个表通过MySQL关系具有one to many,并且Laravel模型具有hasManybelongsTo关系。

我的问题是如何将数据保存到Invoiceitems表中。

1 个答案:

答案 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']),
]);

详细了解Eloquent Relationships