如何在Laravel中导出PDF文件

时间:2019-05-21 10:16:40

标签: mysql laravel

我有两种看法。一种是显示过滤器视图(视图1)。另一个是从过滤器视图中获取数据,然后导出到PDF文件(视图2)。这意味着当单击“打印”时,将导出PDF文件,并且View 2将是具有View 1数据的PDF文件的视图。

现在,我不知道如何从View 1中获取数据并显示到View 2中。

这是我的代码:

View1:

<form method="get">
    <select name="type" onchange="this.form.submit()">
        <option value="">All types</option>
        @foreach ($types as $item)
            <option value="{{ $item->id }}" @if ($request->type == $item->id) selected @endif>{{ $item->name }}</option>
        @endforeach
    </select>
</form>
<br>
<a href="pdf">Print</a>
<br><br>
    <table border="1">
        <tr>
            <th>ID</th>
            <th>Content</th>
            <th>Type</th>
        </tr>
        @foreach ($data as $q)
            <?php $typeName = App\Type::find($q->type_id);?>
            <tr>
                <td>{{ $q->id }}</td>
                <td>{{ $q->content }}</td>
                <td>{{ $typeName->name }}</td>
            </tr>
        @endforeach
    </table>

View2: 该视图将显示为PDF文件,但我不知道如何从View1获取价值

<table border="1">
    <tr>
        <th>ID</th>
        <th>Content</th>
        <th>Type</th>
    </tr>
</table>

FilterController:

public function getFilter(Request $request){
        $types = Type::all();
        $model = Question::where('id', '>', 0)->with('types');

        if (isset($request->type))
            $model = $model->where('type_id', $request->type);
        $data = $model->paginate(15)->appends(request()->query());

        return view('View1', compact( 'data', 'request', 'types'));
    }

PrintController:

public function getValueFromView2(){
//I've to write something to get value from View1
}
public function getPDF(){
        $pdf = PDF::loadView('View2');
        return $pdf->download('test.pdf');
}

具有过滤器功能的View1正常运行。我想要的是过滤后用View1的数据导出PDF文件

1 个答案:

答案 0 :(得分:0)

如果您可以更改尝试atm的方式,这真的很简单。

更改方法getPDF以接受get参数名称-Dorg.uberfire.nio.git.dir=/home/work/data/kie-wb -Dorg.uberfire.nio.git.ssh.cert.dir=/home/work/data/kie-wb -Dorg.uberfire.metadata.index.dir=/home/work/data/kie-wb

/home/work/data/kie-wb

在打印链接上,将参数type用作查询字符串,并链接到getPDF方法;