我正在使用的Laravel / PHP网站上有一个功能,该功能允许用户将付款提醒信下载为PDF文件-PDF是根据他们选择下载的数据库条目的属性生成的PDF。
为下载生成的reminder.blade.php
文件最初看起来像这样:
<html>
<head>
...
</head>
<body style="....">
@foreach ($transaction as $transaction)
...
<!-- Content of the PDF here -->
@endforeach
</body>
我想根据要导出到PDF的transactionItems
中$transaction
的数量{/ {1}}的类型更改PDF的显示-如果仅transactionItem
$transaction
的{{1}}属性值为$transactionItem.currentStatusId
(1010
字段的特定值的ID,仅应生成PDF的第一页,否则,将全部生成页面应该被生成(当前状态)
为此,我尝试用$transactionItem.currentStatusId
包围<body></body>
标记,以检查正在导出的@if
中transactionItems
的数量,并设置在$transaction
和@if
语句的每个语句中适当地包含PDF的内容,因此我对@else
文件所做的更改意味着它当前看起来像这样:
reminder.blade.php
但是,当我现在导出PDF文件时,尽管该文件下载成功,但是当我尝试打开它时,却出现错误消息:
无法加载PDF文档。
任何人都知道为什么我会得到这个吗?我假设我用来动态生成内容的<html>
<head>
...
</head>
@if(($transaction->count($transaction['transactionItem']) == 1) && ($transaction['transactionItem']['currentStatusId'] == '1010'))
<body style="....">
@foreach ($transaction as $transaction)
...
<!-- First page of PDF only -->
@endforeach
</body>
@else
<body style="...">
@foreach ($transaction as $transaction)
...
<!-- Original PDF here -->
@endforeach
</body>
@endif
</html>
语句出现了问题,但是我看不到...有人能指出我正确的方向吗?如何根据数据库中用于生成PDF的字段的值来更改生成的PDF的内容?