where('schema', $schema)->where('is_delete', 0)->first(); $data = $this->getColumnData(); $columnService = new ColumnsService($assembleInfo->id, $this->category_type); $columnData = $columnService->getColumnsAll($data); foreach ($columnData as $rowData) { $column = new ColumnController(); $form = new ColumnForm(); foreach ($rowData as $key => $item) { $form->request->set($key, $item); } $result = $column->save($form); $result = json_decode($result, true); if ($result && !$result['error']) { } else { } } } public function start() { $assembleData = $this->getAssembleData(); $form = new AssembleForm(); foreach ($assembleData as $column => $value) { $form->request->set($column, $value); } $assemble = new AssembleController(); $response = $assemble->save($form); if ($response) { $result = $response->getContent(); $result = json_decode($result, true); if (!$result['error']) { // 设置字段 $this->setColumn($this->schema); // 清除字段缓存 $cache_key = 'SYS:schema:' . $this->schema; Cache::forget($cache_key); // 初始化内容 $this->init(); } else { echo $result['msg']; } } } /** * 必须填写 否则组件无法使用 * 该数据再用户执行添加的时候,会自动把该表信息保存到数据库 * * @return array */ public function getAssembleData(): array { return [ 'title' => $this->title, 'schema' => $this->schema, 'connect_db_id' => 1, 'remark' => '', ]; } /** * 获取集合id * * @param $name * @return mixed */ public function getAssembleId($name): int { if (isset($this->assembleIds[$name])) { return $this->assembleIds[$name]; } else { $assemble = new Assemble($name); return $this->assembleIds[$name] = $assemble->getAssembleId(); } } }