我正在尝试创建一个csv并将其下载到浏览器中。从我能找到的内容中,在Symfony2中有关于此的几乎ZERO文档。
这是我的代码:
// Pass in all of the variables that will make up the pdf...
$response = $this->renderView('WICPurchaseOrderBundle:PurchaseOrder:csv.html.twig', array( "data"=>$data
)
);
$response->headers->set('Content-Type', 'text/csv'); // This is line 929 in the error.
$response->headers->set('Content-Disposition', 'attachment; filename="teams.csv"');
return $response;
这是我得到的错误:
Notice: Trying to get property of non-object in /Applications/XAMPP/xamppfiles/htdocs/symfonydev/src/WIC/PurchaseOrderBundle/Controller/PurchaseOrderController.php line 929
任何人都有在Symfony2中使用CSV的经验,可以帮助我吗?谢谢!
答案 0 :(得分:2)
我的Symfony2应用程序中有一个成功的CSV下载,看起来你已经接近正确了。改变这一行:
$response = $this->renderView('WICPurchaseOrderBundle:PurchaseOrder:csv.html.twig',
array( "data"=>$data)
);
到此:
$response = $this->render('WICPurchaseOrderBundle:PurchaseOrder:csv.html.twig',
array( "data"=>$data)
);
renderView()
方法呈现模板并返回其内容,但不创建响应。 render()
方法返回包含模板内容的Response
对象:
请参阅有关Rendering a template
的文档