我尝试从我的请求数据功能生成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');