如何从@foreach中获取最小数量?

时间:2016-09-26 18:26:21

标签: php laravel-5

我有一个我需要输出到pdf的数据集。我在视图中构建pdf,然后使用dompdf生成。我试图让pdf类似于用于相同数据的打印表单。我想运行一个@foreach来创建表行,但是无论是否有数据,它都会产生一定数量的行。

例如,我想在表格中生成15行,即使只有10条记录,也可以用5个空行完成表格。

我该怎么做?

感谢。

2 个答案:

答案 0 :(得分:2)

如果您事先知道行数,一个选项是正确制作数组,然后将其发送到视图。

// Assuming that $arr is your array of objects 
if(sizeof($arr) < 15) {
    for($i=0; $i < (15-sizeof($arr)); $i++) {
        $arr[] = new YourObject;
    }
}
// Then return the view with
return view('yourview', ['data' => $arr]);

在您看来,只需使用常规@foreach

即可

选项2:

@for ($i = 0; $i < max(15,sizeof($arr)); $i++)
    @if ($i < sizeof($arr) )
    // Print your data here.
    @else
    // Print an empty row.
    @endif
@endfor

答案 1 :(得分:1)

简单的事情:)

<?php $N=0; ?>
@foreach($data AS $row)
<tr>
  <td>{{ ++$N }}</td>
  ...
</tr>
@endforeach

@for($i=1; $i<=15-sizeof($data); $i++)
<tr>
  <td>{{ ++$N }}</td>
  ...
</tr>
@endfor