**我在传递导出文件中的参数时遇到问题,我想根据页面上选定的日期过滤导出。希望你能帮我解决这个问题。谢谢**
--这是我的ExportController,我从表单请求数据到我的控制器,以给导出集合一个日期。
namespace App\Http\Controllers;
use Illuminate\Http\Response;
use Illuminate\Http\Request;
use App\Exports\ExportAttendance;
use Maatwebsite\Excel\Facades\Excel;
class ExportController extends Controller
{
public function export(Request $request)
{
return Excel::download(new ExportAttendance($request->input('min'),$request->input('max')),'Attendance.xlsx');
}
}这是我的ExportAttendance.php,这是负责出口的收藏品。在查询函数上,我希望根据控制器上请求的日期过滤数据。我如何将数据从控制器传递给我的Export.php,我确实使用了构造函数,但它总是返回错误。
public function headings():array{
return[
'Name',
'In (AM)',
'Out (AM)',
'In (PM)',
'Out (PM)',
'Meeting',
'Task',
'Note',
'Total Hours',
'Date'
];
}
public function query()
{
$start = "2021-06-14";
$end = "2021-06-14";
return Attendance::select('Name','InAm','OutAM','InPM','OutPM','Meeting','SpecialTask','Undertime','TotalHours','Date')->whereBetween('Date',[$start,$end]);
}
public function collection()
{
return Attendance::all();
}
public function map($attendance):array
{
return[
$attendance->Name,
$attendance->InAM,
$attendance->OutAM,
$attendance->InPM,
$attendance->OutPM,
$attendance->Meeting,
$attendance->SpecialTask,
$attendance->Undertime,
$attendance->TotalHours,
$attendance->Date,
];
}发布于 2021-06-18 23:59:48
而不是将$request对象传递给导出类。您可以简单地使用request助手方法。
public function query()
{
return Attendance::select('Name','InAm','OutAM','InPM','OutPM','Meeting','SpecialTask','Undertime','TotalHours','Date')
->whereBetween('Date',[request('start'), request('end')]);
}传递参数也应该有效。请让我知道你看到什么错误,以便我可以更新我的答案。
我用了结构体
public function query()
{
$start = "2021-06-14";
$end = "2021-06-14";
return Attendance::select('Name','InAm','OutAM','InPM','OutPM','Meeting','SpecialTask','Undertime','TotalHours','Date')->where('Date','=',$this->year);
}这是我的控制器,
public function export(Request $request)
{
ob_start();
$datestart = $request->input('min');
$datestart = ob_get_contents();
return Excel::download(new ExportAttendance($datestart),'Attendance.xlsx');
ob_end_flush();
}另一个问题是,当我使用ob_end_clean()时,我的所有变量值都返回空值。
https://stackoverflow.com/questions/68042126
复制相似问题