php - Laravel 在发票列表中显示客户名称
问题描述
我有两个表:“客户”和“发票”。客户端模型有很多发票,而发票模型属于一个客户端,实际上是一对多的关系,没什么特别的。
在客户资料页面上,我显示了他的发票:
客户端控制器.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 做到这一点......?!?
解决方案
那么,一张发票只有一个客户,
在发票模型中设置client()关系,然后与客户端获取发票
$invoices = Invoice::with('client')->all();
之后在你的刀片文件中
@foreach ($invoices as $invoice)
{{ $invoice->number }}
{{ $invoice->client->name }}
{{ $invoice->amount }}
@endforeach
推荐阅读
- python-3.x - 如何规避exec()的安全风险
- laravel - 关系多对多 Laravel
- powerbi - 如何在 DAX 中计算每日累计总和?
- java - 如何自定义二维码的外观
- php - 只需使用 php 读取文件 csv 中的新行
- python - Rest-Framework 返回 404 Not Found by nginx
- dart - 有条件地返回脚手架会引发错误
- spring - 通过 https 以明文形式发送的 Spring Cloud Config 属性值
- angular - 如何在主组件的内容区域而不是Angular 5中的单独页面中显示组件
- amazon-web-services - AWS SES 抛出带有 null 错误消息的 SesException