【发布时间】:2017-02-26 14:12:25
【问题描述】:
我想生成 csv,下面是我的代码。但我收到错误
array_keys() expects parameter 1 to be array, object given
csv 控制器函数
$list = DB::table('festivals')
->join('namedesgs', 'festivals.id', '=', 'namedesgs.festival')
->select(DB::raw("festivals.id ,GROUP_CONCAT(namedesgs.name SEPARATOR '\n') as names,GROUP_CONCAT(namedesgs.designation SEPARATOR '\n') as namese"))
->groupBy('festivals.id')
->get();
array_unshift($list, array_keys($list[0]));
$callback = function () use ($list) {
$FH = fopen('php://output', 'w');
foreach ($list as $row) {
foreach ($row as $key => $val) {
$row[$key] = '="'.str_replace('"', '\"', $val).'"';
}
fputcsv($FH, $row);
}
fclose($FH);
};
return
响应::stream($callback, 200, $headers);
【问题讨论】: