has($name)) { return; } Admin::extension()->updateManager()->update($name); Admin::extension()->enable($name); Keywords::truncate(); $list = [ ['key' => 'crops-category', 'name' => '农作物产业分类', 'value' => '', 'list' => [ ['key' => 'crops-cate-nongye', 'name' => '农业', 'type_key' => 'crops-category', 'value' => '', 'list' => [ ['key' => 'crops-shuidao', 'name' => '水稻', 'type_key' => 'crops-cate-nongye', 'value' => ''], ['key' => 'crops-papagan', 'name' => '耙耙柑', 'type_key' => 'crops-cate-nongye', 'value' => ''], ['key' => 'crops-aiyuan', 'name' => '爱媛', 'type_key' => 'crops-cate-nongye', 'value' => ''], ['key' => 'crops-buzhihuo', 'name' => '不知火', 'type_key' => 'crops-cate-nongye', 'value' => ''], ]], ['key' => 'crops-cate-yuye', 'name' => '渔业', 'type_key' => 'crops-category', 'value' => '', 'list' => [ ['key' => 'crops-huocaoyu', 'name' => '活草鱼', 'type_key' => 'crops-cate-yuye', 'value' => ''], ['key' => 'crops-daoxia', 'name' => '稻虾', 'type_key' => 'crops-cate-yuye', 'value' => ''], ['key' => 'crops-wuyu', 'name' => '乌鱼', 'type_key' => 'crops-cate-yuye', 'value' => ''], ['key' => 'crops-luyu', 'name' => '鲈鱼', 'type_key' => 'crops-cate-yuye', 'value' => ''], ]], ['key' => 'crops-cate-xumuye', 'name' => '畜牧业', 'type_key' => 'crops-category', 'value' => '', 'list' => [ ['key' => 'crops-shengzhu', 'name' => '生猪', 'type_key' => 'crops-cate-xumuye', 'value' => ''], ]], ['key' => 'crops-cate-lingye', 'name' => '林业', 'type_key' => 'crops-category', 'value' => ''], ]], ]; if ($list) { $this->createKeywords($list); } } private function createKeywords($keywords, $parentType = null) { foreach ($keywords as $item) { if ($parentType) { $type = Keywords::create([ 'name' => $item['name'], 'key' => $item['key'] ?? $parentType->key.($parentType + 1), 'type_key' => $parentType->key, 'level' => ($parentType->level ?? 1) + 1, 'parent_id' => $parentType->id, ]); } else { $type = Keywords::create(Arr::except($item, 'list')); } $list = data_get($item, 'list'); if ($list) { $this->createKeywords($list, $type); } } } }