在Laravel中传递数据库查询以导出为PDF

时间:2018-12-15 11:12:00

标签: laravel

我想问一下在Laravel中将数据库值导出到PDF的问题。 抱歉,我想通知我仍然是新手,还有很多东西要学习。 另外,我的英语不太好,但我希望大家都能理解我在这里写的内容。 我目前正在通过在互联网上学习很多东西来开展自己的小型项目,但是现在我选择的PDF导出数据存在一些问题。 实际上,该按钮可以正常工作。导出到PDF成功,但是不接受我想要的变量或数据。或者我可以说它只是导出模板。

这里有我的PDF导出代码。

public function export_pdf(Request $request,$id){
        $data = ModelDataBG::findOrFail($id);
        $pdf = PDF::loadView('formpdf', compact('data'));
        return $pdf->stream('result.pdf');              

}

还有以下代码显示要导出为PDF的数据,

@foreach($data as $customer)
$customer['id']

我需要更改什么以便导出可以获取实际数据?不仅仅是模板。 该代码实际上不是我的,我是从互联网上获取的。任何帮助将不胜感激。谢谢大家。

2 个答案:

答案 0 :(得分:0)

尝试一下,而不是使用stream下载:

public function export_pdf(Request $request,$id){
            $data = ModelDataBG::findOrFail($id);
            $pdf = PDF::loadView('formpdf', compact('data'));
            return $pdf->download('result.pdf'); 
    }

答案 1 :(得分:0)

此行返回一个对象(不是数组或集合):

$data = ModelDataBG::findOrFail($id);

,您不应将其与 foreach

一起使用

因此,在模板中,您可以像打印数据一样

{{$data->id}}

,例如打印标题

{{$data->title}}