/** * @abstract 添加自定义表单项 * @return null */ public function saveAction() { // 返回值数组 $result = array('success' => true, 'saveOrNot' => true, 'info' => '添加成功'); $request = $this->getRequest()->getParams(); $now = date('Y-m-d H:i:s'); $user = 1; // 需替换为当前用户ID $val = (object) $request; $form = new Admin_Model_Form(); $defaultValues = $val->defaultValues; // 编辑 if ($val->id) { // 检查字段名称是否已存在 if ($form->fetchAll("id != {$val->id} and model_id = " . $val->model_id . " and state = 1 and name = '" . $val->name . "'")->count() > 0) { $result['result'] = false; $result['saveOrNot'] = false; $result['info'] = "字段名称“" . $val->name . "”已经存在"; echo Zend_Json::encode($result); exit; } $result['info'] = '提交成功'; $data = array('name' => $val->name, 'type' => $val->type, 'length' => isset($val->length) ? $val->length : "", 'nullable' => isset($val->nullable) ? 1 : 0, 'multi' => isset($val->multi) ? 1 : 0, 'description' => $val->description, 'remark' => $val->remark, 'state' => isset($val->state) ? 1 : 0, 'enumlist' => isset($val->enumlistid) ? $val->enumlistid : "", 'model_id' => $val->model_id, 'default_value' => $defaultValues ? $defaultValues : (isset($val->default_value) ? $val->default_value : ""), 'update_time' => $now, 'update_user' => $user); $where = "id = " . $val->id; try { $form->update($data, $where); } catch (Exception $e) { $result['result'] = false; $result['info'] = $e->getMessage(); echo Zend_Json::encode($result); exit; } } else { // 检查字段名称是否已存在 if ($form->fetchAll("model_id = " . $val->model_id . " and state = 1 and name = '" . $val->name . "'")->count() > 0) { $result['result'] = false; $result['saveOrNot'] = false; $result['info'] = "字段名称“" . $val->name . "”已经存在"; echo Zend_Json::encode($result); exit; } // 获取顺序 $sort = $form->fetchAll("model_id = " . $val->model_id . " and state = 1")->count() + 1; $data = array('name' => $val->name, 'type' => $val->type, 'length' => isset($val->length) ? $val->length : "", 'nullable' => isset($val->nullable) ? 1 : 0, 'multi' => isset($val->multi) ? 1 : 0, 'description' => $val->description, 'remark' => $val->remark, 'state' => isset($val->state) ? 1 : 0, 'enumlist' => isset($val->enumlistid) ? $val->enumlistid : "", 'model_id' => $val->model_id, 'default_value' => $defaultValues ? $defaultValues : (isset($val->default_value) ? $val->default_value : ""), 'form_sort' => $sort, 'create_time' => $now, 'create_user' => $user, 'update_time' => $now, 'update_user' => $user); try { $form->insert($data); } catch (Exception $e) { $result['result'] = false; $result['info'] = $e->getMessage(); echo Zend_Json::encode($result); exit; } } echo Zend_Json::encode($result); exit; }