我有两个表:“客户”和“发票”。客户模型有很多发票,而发票模型属于一个客户,实际上是一对多的关系,没什么特别的。
在客户资料页面上,我显示了他的发票:
ClientController.php
public function show($id) {
$client = Client::findOrFail($id);
$invoices = Client::find($id)->invoices;
return view('clients/profile', compact('clients', 'invoices'));
}
在视图中,我有一个循环显示所有发票数据。一切都很好! 我的问题在发票页面上。发票页面有一个范围:显示所有客户的所有发票,但在发票清单中显示客户名称。那是我的思想部分,因为我不知道如何从“客户”表中选择客户名称。在发票表中,我有一行“ client_id”。 目前我有这段代码: InvoiceController
public function index() {
$invoices = Invoice::all();
$clients = Client::all();
return view('invoices/list', compact('invoices', 'clients'));
}
和 list.blade.php
@foreach ($invoices as $invoice)
{{ $invoice->number }}
@foreach ($clients as $client)
{{ $client->name }}??????????????
@endforeach
{{ $invoice->amount }}
@endforeach
$ client-> name上无显示。我不知道如何获取发票上的每个客户名称,因为我需要基于“发票”表中的“ client_id”从“客户”表中显示客户名称。也许我可以用Eloquent ....?!?
答案 0 :(得分:0)
那么,您只有一个发票的客户,
在发票模型中设置 client()关系 然后与客户取得发票
$invoices = Invoice::with('client')->all();
之后,在刀片文件中
@foreach ($invoices as $invoice)
{{ $invoice->number }}
{{ $invoice->client->name }}
{{ $invoice->amount }}
@endforeach