0, 'yd' => 1, 'dx' => 2, 'qw' => 3]; public function handle() { $select = ['id', 'bloc_code as sn', "bloc_name as name", 'carrieroperator as carrier_operator', 'create_time as created_at', 'del']; $blocs = DB::connection('real')->table('jxc_bloc_manage')->select($select)->get()->toArray(); $carders = DB::connection('real')->table('jxc_carder_manage')->select(['bloc_code', 'inside_card_from_sn'])->get()->toArray(); $carders = array_pluck($carders, 'inside_card_from_sn', 'bloc_code'); foreach ($blocs as &$item) { $item = (array)$item; $item['shorthand'] = $carders[$item['id']] ?? ''; $item['carrier_operator'] = $this->carrier_operator[$item['carrier_operator']]; $item['created_at'] = Carbon::createFromTimestamp($item['created_at']); $item['updated_at'] = date('Y-m-d H:i:s'); $item['deleted_at'] = $item['del'] ? date('Y-m-d H:i:s') : null; unset($item['del']); } $blocs = array_values(array_keyBy($blocs, 'id')); Bloc::upsert($blocs, 'id'); app(BlocRepository::class)->forgetCached(); } }