我正在尝试生成一个pdf格式的报告,我有一个foreach循环,它循环通过对象,由于某些原因,数据没有显示在下载的pdf上。感谢任何帮助,这里是我的视图页面:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<table class="table table-striped">
<tr>
<th>Row No.</th>
<th>Entry ID</th>
<th>DC</th>
<th>Customer Name</th>
<th>ID No.</th>
<th>Referance No.</th>
<th>Entry Purpose</th>
<th>Time In</th>
<th>Time Out</th>
<th>Card No.</th>
<th>Cabinets</th>
<th>APC Card</th>
<th>Key</th>
</tr>
@foreach ($assignees as $assignee)
<tr>
<td>{{ ++$i }}</td>
<td>{{ $assignee->id }}</td>
<td>{{ $assignee->datacenter }}</td>
<td>{{ $assignee->cust->idnumber }}</td>
<td>{{ $assignee->custidno}}</td>
<td>{{ $assignee->refnumber }}</td>
<td>{{ $assignee->entrypurpose}}</td>
<td>{{ $assignee->timein }}</td>
<td>{{ $assignee->timeout }}</td>
<td>{{ $assignee->cardno }}</td>
<td>{{ $assignee->cabinet }}</td>
<td>{{ $assignee->apccard }}</td>
<td>{{ $assignee->key }}</td>
</tr>
@endforeach
</table>
<div class="pull-right">
<strong> Report Generated on {{ date("d.m.Y") }} at {{date("h:i:sa")}} </strong>
</body>
</html>
这是我的控制器:
public function downloadPDF($id){
$assignees = assignee::latest();
$pdf = PDF::loadView('assignees.pdf', compact('assignees'));
return $pdf->download('invoice.pdf');
}
发布于 2019-02-21 04:05:27
而不是:
$assignees = assignee::latest();
执行以下操作:
$assignees = assignee::latest()->get()
因为latest()
返回的是QueryBuilder
对象而不是集合,所以您没有什么可循环的。您需要调用get()
来执行查询并返回结果。
此外,根据Laravel遵循的PSR-2,轻微的挑剔: classes (assignee)应该是cammel case,以大写字母开头。
https://stackoverflow.com/questions/54794237
复制相似问题