我正在使用Laravel将JSON数据插入文件,我有300 000条记录,我希望按5000条记录块插入它们。
public function fileput($start,$end,$n) {
$final = [];
$res = DB::table('company')
->Where('company_id', '>',$start)
->Where('company_id', '<',$end)
->get();
foreach ($res as $k => $v) {
$id = $v->company_id;
$index = 10000000 + $id;
unset($res[$k]->company_id);
unset($res[$k]->company_data);
$arr = array('index' => ['_id' => $index]);
$ind = json_encode($arr);
$data = json_encode($v);
array_push($final, $ind, $data);
}
$written = File::put('file.txt', $final);
}
问题是,在输入第一个5000之后,当增加到10000时,前5000个记录被删除。
因此如何将所有记录插入一个文件中?
答案 0 :(得分:1)
尝试使用.form-group
%label.cols-sm-2.control-label{:for => "company_type"}
.cols-sm-10
.input-group
%span.input-group-addon
%i.fa.fa-user.fa{"aria-hidden" => "true"}
= p.select(:company_type, User::COMPANY,{}, {:class => "form-control ",prompt: "Select Your Business"})
代替File::append()
。