Laravel-尝试从blade.php文件中有条件地设置PDF文件的内容

时间:2018-10-26 16:02:19

标签: php laravel pdf pdf-generation

我正在使用的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.currentStatusId1010字段的特定值的ID,仅应生成PDF的第一页,否则,将全部生成页面应该被生成(当前状态)

为此,我尝试用$transactionItem.currentStatusId包围<body></body>标记,以检查正在导出的@iftransactionItems的数量,并设置在$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的内容?

0 个答案:

没有答案