table('t_data_dict')->get(); $newKeywords = []; $parentList = Keyword::whereIn('key', ['financial_cate', 'file_cate', 'department', 'area_cate', 'organized_body', 'housing_estate', 'domicile', 'nation', 'political_face','educational_level','oral_disputes','sanitary_inspection', 'book_cate', 'business_area','money_cate', 'welfare_cate', 'job_cate'])->get(); $buildings = []; foreach($oldDicts as $dict){ if(empty($dict->dictKey) || empty($dict->valid)){ continue; } $_parent = $_keyword = null; switch($dict->dictKey){ case 'financeReportType'://财务报表类型 $_parent = $parentList->where('key', 'financial_cate')->first(); break; case 'profileType'://档案类型 $_parent = $parentList->where('key', 'file_cate')->first(); break; case 'addrType'://企业地区管理 $_parent = $parentList->where('key', 'business_area')->first(); break; case 'bookType'://图书类型 $_parent = $parentList->where('key', 'book_cate')->first(); break; case 'court'://小区管理 $_parent = $parentList->where('key', 'housing_estate')->first(); break; case 'workType'://工种管理 $_parent = $parentList->where('key', 'job_cate')->first(); break; case 'welfType'://福利类型 $_parent = $parentList->where('key', 'welfare_cate')->first(); break; case 'society'://社别 $_parent = $parentList->where('key', 'organized_body')->first(); break; case 'regionType'://地区类型 $_parent = $parentList->where('key', 'area_cate')->first(); break; case 'politics'://政治面貌 $_parent = $parentList->where('key', 'political_face')->first(); break; case 'payType'://收支类型 $_parent = $parentList->where('key', 'money_cate')->first(); break; case 'hygieneType'://卫生检查类型 $_parent = $parentList->where('key', 'sanitary_inspection')->first(); break; case 'houseHold'://户籍管理 $_parent = $parentList->where('key', 'domicile')->first(); break; case 'folk'://民族管理 $_parent = $parentList->where('key', 'nation')->first(); break; case 'eduction'://文化程度 $_parent = $parentList->where('key', 'educational_level')->first(); break; case 'disputeType'://口头纠纷类型 $_parent = $parentList->where('key', 'oral_disputes')->first(); break; } if($_parent){ $_keyword = [ 'key' => $_parent->key.$dict->id, 'name' => $dict->txt, 'sort' => $dict->sorted, 'parent_id' => $_parent->id, 'parent_key'=> $_parent->key, 'lv' => $_parent->lv+1, 'path' => $_parent->path.$_parent->id.'-', 'oid' => $dict->id, 'created_at'=>now(), 'updated_at'=>now() ]; } if($_keyword){ $newKeywords[$dict->id] = $_keyword; } } if(count($newKeywords) > 0){ try { DB::begintransaction(); DB::table('keywords')->insert($newKeywords); DB::commit(); } catch (Throwable $th) { DB::rollBack(); report($th); } } } }