想要从laravel请求数据生成pdf

时间:2019-04-17 06:28:55

标签: laravel pdf laravel-blade

我尝试从我的请求数据功能生成pdf。但它不能将变量传递到我的pdf生成函数中。我从该功能获得了请求的数据。

public function fetch_data()
{
    if(request()->ajax())
    {
        if(request()->from_date != '' && request()->to_date != '')
        {
            $data = DB::table('sales')
                ->whereBetween('dlvd_date', array(request()->from_date, request()->to_date))
                ->get();
        } else {
            $data = DB::table('sales')->orderBy('dlvd_date', 'desc')->get();
        }

        echo json_encode($data);
    }
}

我想将此$ data值放入我的pdf生成的函数中,如下所示。

function convert_sales_data_to_html($data)
{
    $sales_data = $data;
    dd($sales_data);

    $output = '';
    return $output;
}

并传递给此功能

public function pdf($data)
{
    $pdf = \App::make('dompdf.wrapper');        
    $pdf->loadHTML($this->convert_sales_data_to_html($data))->setPaper('a4', 'landscape');
    return $pdf->stream();
}

我尝试了很多次,但是给我看了缺少参数的错误。我该如何解决这个问题,或者有另一种方法可以从laravel中的请求数据中生成pdf。

这是我的路线

Route::post('salesreport/fetch', 'Report\SalesReportController@fetch_data')->name('salesreport.fetch_data');
Route::get('salesreport/pdf', 'Report\SalesReportController@pdf');

0 个答案:

没有答案