首页 > 解决方案 > Laravel - 如何获取输入并将其从一个视图传递到另一个视图 (Mpdf)

问题描述

我的报告视图中有一个日期范围过滤器,因此当用户单击下载按钮时,它应该将选定的日期传递给 pdf 视图。

默认日期是当月的第一天到今天的日期,用户可以根据需要过滤日期。

如何将这些输入传递给另一个视图?

我应该从 index 和 filter 函数中传递 $from 和 $to 变量。

我尝试了很多方法,但没有一个有效:(

有什么建议吗?

这是代码:(

控制器

 public function index(Request $request){
 $startDate = Carbon::now();
        $from = $startDate->firstOfMonth()->format('Y-m-d');
        $to = Carbon::now()->format('Y-m-d');

 return view('Reports.index',compact('from','to');
}

 public function filter(Request $request)
    {
        $from = Carbon::parse($request->input('datepicker_from'))->format('Y-m-d');
        $to = Carbon::parse($request->input('datepicker_to'))->format('Y-m-d');

  return view('Reports.index',compact('from','to');
}

public function print()
    {
        $pdf = PDF::loadView('Reports.reportPDF');
        return $pdf->stream('my.pdf', array('Attachment' => 0));
    }

网络

Route::get('print', 'reportController@print')->name('Reports.reportPDF');

意见

<a href="{{ route('Reports.reportPDF') }}" target="_blank"><button class="btn btn-success" title="Download PDF" data-toggle="tooltip"><i class="fa fa-download"></i></button></a>

标签: phplaravelsessioninputmpdf

解决方案


将这两个变量传递到 PDF 视图。

public function print($from,$to)
    {
        $pdf = PDF::loadView('Reports.reportPDF',['from'=>$from,'to'=>$to]);
        return $pdf->stream('my.pdf', array('Attachment' => 0));
    }

网络

Route::get('print', 'reportController@print/{from}/{to}')->name('Reports.reportPDF');

意见

<a href="{{ route('Reports.reportPDF',[$from,$to]) }}" target="_blank"><button class="btn btn-success" title="Download PDF" data-toggle="tooltip"><i class="fa fa-`download"></i></button></a>

推荐阅读