我按照文档和队列执行正常,但是第一个之后的数据没有存储到数据库中(对于代码示例,我正在编写单独的文件)。请参考下面的代码。
包版本:2.1.0 Laravel版本:5.4.36
Excel::filter('chunk')->load(storage_path('users.csv'))->
chunk(250,function($results){
$row_set = $results->toArray();
foreach ($row_set as $key => $row) {
Storage::disk('local')->put(rand(10, 100).'_users.txt', json_encode($row));
}
});
配置: php.ini - > auto_detect_line_endings:true export.php force_sheets_collection:true, QUEUE_DRIVER =数据库
请帮我解决此问题,我花了大约2天的时间在不同的错误报告和解决方案中找到解决方案。
答案 0 :(得分:0)
您应该将$ results设置为函数,还需要确保在foreach循环中放置Log :: debug()消息
Excel::filter('chunk')->load(storage_path('users.csv'))->
chunk(250,function($results){
foreach ($results as $key => $row) {
Storage::disk('local')->put(rand(10, 100).'_users.txt', json_encode($row));
}
});