导出到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种不同的方法来捕捉它是空的但是无法弄明白。
感谢您的帮助
答案 0 :(得分:0)
根据以下代码进行更改:
$data = array(
$row->getClient(),
$row->getDealingName(),
$delContact,
);