使用Doctrine和Symfony导出到csv文件

use*_*615 2 php doctrine symfony-1.4

我正在使用Doctrine和symfony从数据库表导出.我打电话给我的数据库

$variableTable = Doctrine::getTable('Table Name')->findAll();
Run Code Online (Sandbox Code Playgroud)

然后我设置另一个变量来从中获取数据,如下所示:

$variable = $variableTable->getData();
Run Code Online (Sandbox Code Playgroud)

我只是希望能够遍历,所以我可以将我需要的数据提取到csv文件中,但我仍然坚持这一部分.出于某种原因,当我调试时,它显示设置为getData值的第二个变量为null/0.

我不确定我是否遗漏了什么.

pro*_*son 10

我想也许你正在尝试调用getData集合而不是调用getData记录...但这并没有多大意义,因为你仍然需要调用getData每条记录,所以你不妨只是循环遍历集合.此外它可能没有你findAll的一些疯狂的原因,所以你应该考虑到我认为.无论如何类似于以下的代码在过去对我有用,所以没有你的代码的细节它是我能提供的最好的:

$records = Doctrine::getTable('RecordName')->findAll();

if($records->count()) {
   $csvPath = '/path/to/csv/file.csv';

   $csvh = fopen($csvPath, 'w');
   $d = ','; // this is the default but i like to be explicit
   $e = '"'; // this is the default but i like to be explicit

   foreach($records as $record) {
       $data = $record->toArray(false); // false for the shallow conversion
       fputcsv($csvh, $data, $d, $e);
   }

   fclose($csvh);

  // do something with the file
}
Run Code Online (Sandbox Code Playgroud)