Exemplo n.º 1
0
 /**
  * 删除表
  * @param  int $tid 表编号
  * @param  int $tname 表名
  * @return integer  删除结果
  */
 public function UpdateApi($tid, $tname, $tnamec, $cellArray)
 {
     //创建s_db表数据
     $dbmodel = new DbModel();
     $dbmodel->startTrans();
     if ($tid) {
         $dbmodel->UpDBTnamec($tid, $tnamec);
         //更新表信息
         //创建视图s_dbform
         $dbForm = array($tnamec . '-默认视图');
         $dbform = new DbformModel();
         $dbform_list = $dbform->GetDBFormList($tid);
         foreach ($dbform_list as $key => $value) {
             if (strstr($value["vname"], "-默认视图")) {
                 $dbform->UpdateDbFormForTid($dbForm, $tid);
                 //修改视图信息
                 $formId = $value["vid"];
             }
         }
         if ($formId) {
             $dbcell = new DbcellModel();
             $db_num = $dbcell->DeleteDbCell($tid);
             $vcell = new VDbcellModel();
             $vc_num = $vcell->DeleteVDbCell($tid);
             $dbtable = new TableModel();
             $dbt_num = $dbtable->DelTable($tname);
             $dbcell = new DbcellModel();
             $dbcellret = $dbcell->InsertDbcell($tid, $cellArray);
             //创建字段信息
             if ($dbcellret) {
                 $vcell = new VDbcellModel();
                 $result = $vcell->InsertVDbcell($formId, $tid, $cellArray);
                 //创建关联字段信息
                 if ($result) {
                     $dbtable = new TableModel();
                     $create_result = $dbtable->CreateTable($tname, $cellArray);
                     //创建物理表
                     if ($create_result) {
                         //都确定完成,提交所有数据操作
                         $dbmodel->commit();
                         return true;
                     } else {
                         $dbmodel->rollback();
                         return false;
                     }
                 } else {
                     $dbmodel->rollback();
                     return false;
                 }
             } else {
                 $dbmodel->rollback();
                 return false;
             }
         } else {
             $dbmodel->rollback();
             return false;
         }
     } else {
         $dbmodel->rollback();
         return false;
     }
 }