'cost_nope', 'name' => '费用项', 'value' => '', 'list' => [ ['key' => 'live_fee', 'name' => '入住费用项', 'type_key' => 'cost_nope', 'value' => '', 'list'=>[ ['key' => 'live_base_fee', 'name' => '养老费', 'type_key' => 'live_fee', 'value' => ''], ['key' => 'physical', 'name' => '体检', 'type_key' => 'live_fee', 'value' => ''], ['key' => 'heating', 'name' => '暖气费', 'type_key' => 'live_fee', 'value' => ''], ['key' => 'bedding', 'name' => '床上用品', 'type_key' => 'live_fee', 'value' => ''], ]], ['key' => 'continue_fee', 'name' => '续住费用项', 'type_key' => 'cost_nope', 'value' => '', 'list'=>[ ['key' => 'continue_base_fee', 'name' => '养老费', 'type_key' => 'continue_fee', 'value' => ''], ['key' => 'water_fee', 'name' => '水电费', 'type_key' => 'continue_fee', 'value' => ''], ['key' => 'nurse_items', 'name' => '护理用品', 'type_key' => 'continue_fee', 'value' => ''], ['key' => 'check_up', 'name' => '血糖检查', 'type_key' => 'continue_fee', 'value' => ''], ['key' => 'use_car', 'name' => '出车', 'type_key' => 'continue_fee', 'value' => ''], ]], ['key' => 'bonds_fee', 'name' => '保证金', 'type_key' => 'cost_nope', 'value' => '', 'list'=>[ ['key' => 'live_in', 'name' => '入住', 'type_key' => 'bonds_fee', 'value' => ''], ['key' => 'room_items', 'name' => '房间物品', 'type_key' => 'bonds_fee', 'value' => ''], ['key' => 'health', 'name' => '医疗', 'type_key' => 'bonds_fee', 'value' => ''], ]], ]], ['key' => 'nurse_lv', 'name' => '护理等级', 'value' => '', 'list' => [ ['key' => 'nurse_lv_1', 'name' => '一级护理', 'type_key' => 'nurse_lv', 'value' => '1'], ['key' => 'nurse_lv_2', 'name' => '二级护理', 'type_key' => 'nurse_lv', 'value' => '2'], ['key' => 'nurse_lv_3', 'name' => '三级护理', 'type_key' => 'nurse_lv', 'value' => '3'], ]], ]; if ($list) { $this->createKeywords($list); } } private function createKeywords($keywords, $parentType = null) { foreach ($keywords as $item) { if ($parentType) { $type = Keyword::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 = Keyword::create(Arr::except($item, 'list')); } $list = data_get($item, 'list'); if ($list) { $this->createKeywords($list, $type); } } } }