在 Laravel 中搜索导出为 PDF 后?
After Search Export to PDF in Laravel?
我现在有学校的搜索数据我想将搜索到的唯一数据导出为PDF。发送所有只写 $school=School::all()
很容易,但我不喜欢将所有只搜索到的数据发送到 PDF。更多信息请看附件。
所有学校及其信息
我搜索后得到这个页面:
搜索过的页面
这是 Laravel 控制器中的代码。
搜索功能:
public function search(Request $request)
{
$camp_id=$request->camp_id;
$school_level=$request->school_level;
$school_shift=$request->school_shift;
$school_type=$request->school_type;
if($request->has('camp_id') && !empty($request->input('camp_id'))||$request->has('school_level') && !empty($request->input('school_level'))||$request->has('school_type') && !empty($request->input('school_type'))||$request->has('school_shift') && !empty($request->input('school_shift')))
$schools=School::where('camp_id',$camp_id)
->orWhere('school_level',$school_level)
->orWhere('school_type',$school_type)
->orWhere('school_shift',$school_shift)
->get();
else
$schools=School::where('school_active','Active');
return view('reports/search',compact('schools'));
}
这是另一个导出为 PDF 的函数:
public function exportpdf()
{
// if i write $schools=School::all(); it export to PDF which i dont like i want only searched as it show in attached pictuer 2
$pdf = PDF::loadView('reports.exportpdf',['schools'=>$schools])->setPaper('a3', 'landscape');
return $pdf->download('School Details Reports.pdf');
}
这里是web.php
代码:
Route::get('reports/exportpdf','SchoolController@exportpdf')->name('exportpdf');
Route::post('reports/search','SchoolController@search')->name('search');
我的问题是如何实现 exportpdf()
功能,以及如何从视图中的按钮调用?
首先使用post而不是获取路线
Route::post('reports/exportpdf','SchoolController@exportpdf')->name('exportpdf');
<form action="{{ route('exportpdf') }}" method="post">
@csrf
@foreach($schools as $school)
<input type="hidden" name="school[]" value={{$school}}>
@endforeach
<button class="btn btn-info" type="submit">Export as PDF</button>
</form>
在您的控制器中,使用该模型
public function exportpdf(Request $request)
{
// dd($request->school); // will provide an array
$schools = $request->school;
// then use it in your function
$pdf = PDF::loadView('reports.exportpdf',['schools'=>$schools])->setPaper('a3', 'landscape');
return $pdf->download('School Details Reports.pdf');
}
我现在有学校的搜索数据我想将搜索到的唯一数据导出为PDF。发送所有只写 $school=School::all()
很容易,但我不喜欢将所有只搜索到的数据发送到 PDF。更多信息请看附件。
所有学校及其信息
我搜索后得到这个页面:
搜索过的页面
这是 Laravel 控制器中的代码。
搜索功能:
public function search(Request $request)
{
$camp_id=$request->camp_id;
$school_level=$request->school_level;
$school_shift=$request->school_shift;
$school_type=$request->school_type;
if($request->has('camp_id') && !empty($request->input('camp_id'))||$request->has('school_level') && !empty($request->input('school_level'))||$request->has('school_type') && !empty($request->input('school_type'))||$request->has('school_shift') && !empty($request->input('school_shift')))
$schools=School::where('camp_id',$camp_id)
->orWhere('school_level',$school_level)
->orWhere('school_type',$school_type)
->orWhere('school_shift',$school_shift)
->get();
else
$schools=School::where('school_active','Active');
return view('reports/search',compact('schools'));
}
这是另一个导出为 PDF 的函数:
public function exportpdf()
{
// if i write $schools=School::all(); it export to PDF which i dont like i want only searched as it show in attached pictuer 2
$pdf = PDF::loadView('reports.exportpdf',['schools'=>$schools])->setPaper('a3', 'landscape');
return $pdf->download('School Details Reports.pdf');
}
这里是web.php
代码:
Route::get('reports/exportpdf','SchoolController@exportpdf')->name('exportpdf');
Route::post('reports/search','SchoolController@search')->name('search');
我的问题是如何实现 exportpdf()
功能,以及如何从视图中的按钮调用?
首先使用post而不是获取路线
Route::post('reports/exportpdf','SchoolController@exportpdf')->name('exportpdf');
<form action="{{ route('exportpdf') }}" method="post">
@csrf
@foreach($schools as $school)
<input type="hidden" name="school[]" value={{$school}}>
@endforeach
<button class="btn btn-info" type="submit">Export as PDF</button>
</form>
在您的控制器中,使用该模型
public function exportpdf(Request $request)
{
// dd($request->school); // will provide an array
$schools = $request->school;
// then use it in your function
$pdf = PDF::loadView('reports.exportpdf',['schools'=>$schools])->setPaper('a3', 'landscape');
return $pdf->download('School Details Reports.pdf');
}