我有以下问题。我在数据库中有一个会议表,包括id
,guest
,host
,start_time
,end_time
和table_number
。我使用wkhtmltopdf和symfony 3生成,仅仅生成pdf就没问题了,不幸的是Twig不想和我合作。我想首先为表1生成会议,然后为2等生成会议。整个过程应如下所示:
问题是它为表1生成了一个pdf,然后为表2添加了一个会议。它开始为表2生成pdf,最后从表3中抛出1个会议。生成的pdf看起来像这个:http://cyrklaf.eu/table.pdf
我不知道错误在哪里,他总是从另一张桌子开会。我的Twig代码因为问题在于它:
我的Twig代码:
<html lang="pl">
<head>
<meta charset="utf-8">
<style>
body {
background: #FFF;
}
.page {
page-break-after: always;
}
</style>
</head>
<body>
{% set last_table = 1 %}
{% for meeting in meetings %}
<div class="page">
{{ meeting.guest }} {{ meeting.host }} stolik obecny {{ meeting.tableNumber }} stolik poprzedni {{ last_table }}
{% if meeting.tableNumber != last_table %} //
{% set last_table = meeting.tableNumber %}
</div>
{% endif %}
{% endfor %}
</body>
</html>
答案 0 :(得分:1)
您应该按照以下方式处理表格中断:
{% set previous_table_number = 1 %}
{% for meeting in meetings %}
{# This handle table break close old div if is changed #}
{% if meeting.tableNumber != previous_table_number and not loop.first %}
</div>
{% endif %}
{# This handle table break #}
{% if meeting.tableNumber != previous_table_number or loop.first %}
<div class="page">
{% endif %}
{{ meeting.guest }} {{ meeting.host }} stolik obecny {{ meeting.tableNumber }} stolik poprzedni {{ previous_table_number }}
{% if loop.last %}
</div>
{% endif %}
{% set previous_table_number = meeting.tableNumber %}
{% endfor %}
中使用它
希望这个帮助
答案 1 :(得分:0)
我会像在Twig那样写它:
<html lang="pl">
<head>
<meta charset="utf-8">
<style>
body {
background: #FFF;
}
.page {
page-break-after: always;
}
</style>
</head>
<body>
{% for i in 1..4 %}
{% for meeting in meetings %}
{% if meeting.tableNumber == i %}
<div class="page">
{{ meeting.guest }} {{ meeting.host }} stolik obecny {{ meeting.tableNumber }} stolik poprzedni {{ last_table }}
</div>
{% endif %}
{% endfor %}
{% endfor %}
</body>
</html>