Laravel whereBetween和Exporting结果为CSV

时间:2016-11-21 12:17:52

标签: php laravel csv laravel-5

我正在使用Matt Stauffer 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');
}

我在whereBetween条件下有什么不对吗?

1 个答案:

答案 0 :(得分:0)

由于您的reportDate字段采用unix时间戳格式,因此需要提供两个unix时间戳。如果$from$to已经是unix时间戳形式,则无需对它们执行任何操作。否则,通过例如转换它们strtotime()