Php Larvel Wherebeen并将结果导出到CSV
我正在使用CSV导出包。 使用Php Larvel Wherebeen并将结果导出到CSV,php,laravel,csv,laravel-5,Php,Laravel,Csv,Laravel 5,我正在使用CSV导出包。 使用Reporting::all()我得到了预期的结果,CSV报告成功下载。但是使用下面的代码我只得到空结果。只有包含列的csv文件,而不是一行 public function export($from, $to) { $reports = Reporting::whereBetween('reportDate',[date('m-d-Y', $from), date('m-d-Y', $to)]); $csv = \League\Csv\Writer
Reporting::all()
我得到了预期的结果,CSV报告成功下载。但是使用下面的代码我只得到空结果。只有包含列的csv文件,而不是一行
public function export($from, $to)
{
$reports = Reporting::whereBetween('reportDate',[date('m-d-Y', $from), date('m-d-Y', $to)]);
$csv = \League\Csv\Writer::createFromFileObject(new \SplTempFileObject());
$csv->insertOne(\Schema::getColumnListing('reports'));
foreach ($reports as $rep) {
$csv->insertOne($rep->toArray());
}
//return \Response::download($csv->output('reports.csv'));
return $csv->output('reports.csv');
}
我在
where-between
条件下是否有任何错误?由于您的reportDate
字段是unix时间戳格式,因此需要提供两个unix时间戳。如果$from
和$to
已经是unix时间戳格式,则无需对它们执行任何操作。否则,通过例如strotime()
转换它们。如果您的reportDate
字段是一个标准的MySQL日期字段,那么日期格式是Y-m-d
,而不是m-d-Y
,reportDate
是Unix时间戳格式。太好了,我将发布一个答案。:)您缺少get()
Oh!非常感谢@ABDEL-RHMAN,我错过了,就是这样。再次感谢