Beispiel #1
0
 public static function insertProjectDetail($project_detail_info)
 {
     try {
         $manager = new TxManager();
         $transaction = $manager->get();
         $project_detail = new ProjectDetail();
         $project_detail->setTransaction($transaction);
         foreach ($project_detail_info as $key => $value) {
             $project_detail->{$key} = $value;
         }
         $project = Project::findFirst($project_detail_info['project_id']);
         $project->setTransaction($transaction);
         $type = true;
         $state = self::getProjectStateNext($project, $type);
         $project->state = $state;
         if ($project_detail->save() == false || $project->save() == false) {
             $transaction->rollback("数据插入失败");
         }
         $transaction->commit();
         return true;
     } catch (TxFailed $e) {
         throw new Exception($e->getMessage());
     }
 }