Php Larvel Wherebeen并将结果导出到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

我正在使用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::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,我错过了,就是这样。再次感谢