【发布时间】:2020-05-08 22:46:54
【问题描述】:
**我是 laravel 新手,所以请忽略提问时的任何错误。我已经使用 jquery 创建了带有多行表的发票。现在我需要更新发票项目,那么如何在我的编辑页面中获取所有发票项目以便我可以更新它。 **
我的桌子 发票
- 身份证
- invoice_no
- 小计
- 折扣
- 总计
invoice_items
- 身份证
- invoice_id
- 价格
- 数量
- 金额
发票模型
public function invoice_items()
{
return $this->hasMany('App\InvoiceItem', 'invoice_id', 'id');
}
InvoiceItem 模型
public function invoice()
{
return $this->belongsTo('App\Invoice');
}
如果需要任何资源,请我提供。
public function edit($id)
{
$invoice = Invoice::find($id);
$invoice_items = InvoiceItem::all();
return view('invoices.edit', compact('invoice', 'invoice_items'));
}
【问题讨论】:
-
您是否尝试过文档中描述的方式?通过魔术方法:
$invoice->invoice_items或方法$invoice->invoice_items()->get()?记得用with处理n+1。 -
你必须清楚什么是问题?您无法访问发票项目,或者您不知道如何在发送请求后访问数据以更新(在控制器中)?
-
我已经添加了这些项目。现在在我的编辑页面中,我想从数据库中获取 id 1 的所有项目,如第二个图所示。我不知道该怎么做。
-
我建议将查询更改为
$invoice = Invoice::with('invoice_items')->find($id)。还要检查文档(Eloquent,Collection)。 -
我的问题是如何进入刀片模板。