public function createNewTransaction($process_id, $transaction_id, $user_id, $role_id) { $request = ApprovalRequest::model()->findByForeign($process_id, $role_id); if (count($request) > 0) { try { $model = new ApprovalTransaction(); $model->process_id = $process_id; $model->transaction_id = $transaction_id; $model->user_id = $user_id; $model->request_role_id = $role_id; $model->approval_request_id = $request->id; //$transaction = $model->dbConnection->beginTransaction(); $model->save(); $this->createNewTransactionLevel($model); return $model; } catch (Exception $e) { //$transaction->rollback(); throw $e; } } else { return NULL; } }
public function findByForeign($process_id, $role_id) { return ApprovalRequest::model()->find(array('condition' => 'process_id=:process_id AND role_id = :role_id', 'params' => array(':process_id' => $process_id, ':role_id' => $role_id))); }