我是laravel的新手,很坚韧找出一种方法将一个表导出到csv。我在控制器类中尝试了以下代码,但它给了我一个错误:
public function get_export()
{
$table = Cpmreport::all();
$file = fopen('file.csv', 'w');
foreach ($table as $row) {
fputcsv($file, $row);
}
fclose($file);
return Redirect::to('consolidated');
}
Cpmreport的模型类:
class Cpmreport extends Eloquent
{
public static $table='cpm_report';
}
错误:
Message:
fputcsv() expects parameter 2 to be array, object given
Location:
C:\xampp\htdocs\cpm_report\application\controllers\cpmreports.php on line 195
任何帮助将不胜感激。
4条答案
按热度按时间lf3rwulv1#
简单的方法
ql3eal8s2#
fputcsv($file, $table);
应该是fputcsv($file, $row)
,不是吗?然后使用Eloquent的
to_array()
方法将对象转换为数组:http://laravel.com/docs/database/eloquent#to-arraygfttwv5a3#
选择查询MySQL数据。
调用以下函数:
0.1创建百万条记录需要1秒。
bvk5enib4#
这样更好更简单。