$prefix,'name'=>$name]; // } // // // // // // // foreach ($data['plist']['dict']['dict'] as $datum){ // foreach ($datum['key'] as $vv){ // $g2_prefix = substr($vv,0,6); // $g2_prefix_half = substr($vv,0,2); // $name = str_replace($g2_prefix,'',$vv); // $total[substr($g2_prefix,0,4)] = ['pid'=>$g2_prefix,'name'=>$name]; // } // } // // // foreach ($data['plist']['dict']['dict'] as $datum){ // foreach ($datum['array'] as $vv){ // foreach ($vv['string'] as $vvv){ // // $g2_prefix = substr($vvv,0,6); // $g2_prefix_half = substr($vvv,0,2); // $g2_prefix_3 = substr($vvv,0,4); // $name = str_replace($g2_prefix,'',$vvv); // $total[substr($g2_prefix,0,5)] = ['pid'=>$g2_prefix,'name'=>$name]; // // } // } // } // // // // // // // // $res = BaseAreaNew::find($g2_prefix); // if ($res) // continue; // $id = BaseAreaNew::insert([ // 'name'=>$name, // 'pid'=>$total[$g2_prefix_3]['pid'], // 'id'=>$g2_prefix, // 'short_name'=>$name, // 'grade'=>3, // 'city_code'=>0, // 'zip_code'=>0, // 'merger_name'=>$total[$g2_prefix_half]['name'].','.$total[$g2_prefix_3]['name'].','.$name, // 'lng'=>0, // 'lat'=>0, // 'pinyin'=>'', // ]); // // // $dd = scandir(public_path('docs/town')); // // $arr = array_map(function ($v){ // return str_replace('.json','',$v); // },$dd); // unset($dd); // $ds = BaseAreaNew::whereIn('id',$arr)->get(['id','name','merger_name']); // // // foreach ($ds as $d){ // $dds = json_decode(file_get_contents(public_path('docs/town/'.$d->id.'.json')),true); // foreach ($dds as $k =>$v){ // // $res = BaseAreaNew::find($k); // if ($res) // continue; // $id = BaseAreaNew::insert([ // 'name'=>$v, // 'pid'=>$d->id, // 'id'=>$k, // 'short_name'=>$v, // 'grade'=>4, // 'city_code'=>0, // 'zip_code'=>0, // 'merger_name'=>$d->merger_name.','.$v, // 'lng'=>0, // 'lat'=>0, // 'pinyin'=>'', // ]); // // echo "{$v}:{$k} 成功导入了!\r\n"; // // } $i = 0; $maps = BaseArea::where('relation', '')->get(['pid', 'id']); foreach ($maps as $map) { $i++; echo "Deal:{$i}\r\n"; $relation = ['1']; $pid = $map->pid; if (1 == $pid) { $map->update(['relation' => implode(',', $relation)]); } $relation[] = $map->id; while (1 != $pid) { $area = BaseArea::find($pid); if ($area) { $relation[] = $pid; $pid = $area->pid; } } $str = implode(',', $relation); $map->update(['relation' => $str]); echo "{$str}\r\n"; } } }