export csv catch null value symfony 2

时间:2017-02-14 13:27:40

标签: symfony csv

导出到csv时遇到了一些麻烦。在我的表中,我有一些空值,我无法找到如何捕捉它们。

public function exportCSVAction()
{
    $results = $this->getDoctrine()->getManager()
        ->getRepository('MyRepoBundle:Cronexecution')->findAll();

    $response = new StreamedResponse();
    $response->setCallback(
        function () use ($results) {
            $handle = fopen('php://output', 'r+');
            foreach ($results as $row) {

                if (!($row->getNbLineIn()) && !($row->getNbLineOut())) {
                    $delContact = (($row->getNbLineIn()) - ($row->getNbLineOut()));
                }
                else{
                    $delContact="Unknown";
                }
                $data = array(
                    $row->getClient(),
                    $row->getDealingName(),
                    $row->$delContact,
                );
                fputcsv($handle, $data);
            }
            fclose($handle);
        }
    );
    $response->headers->set('Content-Type', 'application/force-download');
    $response->headers->set('Content-Disposition', 'attachment; filename="export.csv"');

    return $response;
}

当我删除$ row-> $ delContact时,csv导出工作原因是没有空值但是当我让它时,我得到了“无法访问此站点”错误。

所以我尝试用2或3种不同的方法来捕捉它是空的但是无法弄明白。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

根据以下代码进行更改:

$data = array(
         $row->getClient(),
         $row->getDealingName(),
         $delContact,
       );