如何解决如何解决 Laravel 中失败的作业批处理
我做了一个作业批处理来将 csv 插入数据库。
方法如下:
public function upload()
{
if(request()->has('file')){
$data = file(request()->file);
// Chunking file
$chunks = array_chunk($data,5);
$batch = Bus::batch([])->dispatch();
foreach($chunks as $chunk){
$data = array_map('str_getcsv',$chunk);
$batch->add(new BinlocCsvProcess($data));
}
return $batch;
}
return 'please upload file';
}
这是我的工作类:
class BinlocCsvProcess implements ShouldQueue {
public $data;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
foreach($this->$data as $item){
Binloc::create($item);
}
}
}
我不知道如何得到错误为什么它不起作用,我也不知道如何解决它。
请帮帮我。
解决方法
出现错误是因为第 foreach($this->$data as $item)
行。您应该删除 $
,因此您的代码应该是这样的 foreach($this->data as $item)
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。