我使用barryvdh/dompdf包装来打印和保存PDF,当我尝试在将数据插入数据库后“打印”时,它不会将上次保存的数据提取到PDF中。
我已经尝试过通过获取最后保存的id来获取数据,但仍然没有运气。
主视图打印按钮:
<a href="{!! url('printPDF') !!}" target="_blank" class="btn btn-info">Print</a>主计长:
public function printPDF(Request $request)
{
$visID = MyModel::orderBy('id', 'DESC')->pluck('id')->first();
$exi= $visID;
$pdf = PDF::loadView('pdfview', compact('exi'));
return $pdf->stream();
}pdfview:
<table>
<tr>
<th>First Name:</th>
<td>{{ $exi['first_name'] }}</td>
</tr>
<tr>
<th>Last Name:</th>
<td>{{ $exi['last_name'] }}</td>
</tr>
<tr>
</table>只获取“名字:”和“姓氏:”在打印预览。
发布于 2019-08-18 15:55:28
你有几个问题,你可能会改进。第一种情况是,如果您希望获得一个对象集合,但只使用first()方法,那么它只会给出一个实例。使用pluck会进一步复杂这一点,因为它不会为您提供整个对象,而只是示例代码中的一个字段(id):
$visID = MyModel::orderBy('id', 'DESC')->pluck('id')->first();我建议你改变上面的,以得到完整的模型。删除pluck,如果db有支持latest()的created_at字段,则添加created_at:
$exi = MyModel::latest()->first();或,您在正确的轨道上,也可以使用orderBy (Laravel的latest()只是用于相同事物的语法糖-看起来很整洁):
$exi = MyModel::orderBy('id', 'DESC')->first();然后,而不是:
$exi= $visID;查询行中的变量中已经有了最后一个模型。在传递到刀片之后,您拥有$exi中的所有数据,并且可以使用您希望的对象表示法:
<tr>
<th>First Name:</th>
<td>{{ $exi->first_name }}</td>
</tr>
// etc发布于 2019-08-18 15:47:41
您只需提取一个值,而不是数组或多个值。
Model::orderBy('id', 'DESC')->pluck('**column name**','id')->first();https://stackoverflow.com/questions/57545996
复制相似问题