OEModule\PatientTicketing\models\QueueOutcome::model PHP Method

model() public static method

Returns the static model of the specified AR class.
public static model ( $className = __CLASS__ ) : OphTrOperationnote_GlaucomaTube_PlatePosition
return OphTrOperationnote_GlaucomaTube_PlatePosition the static model class
    public static function model($className = __CLASS__)
    {
        return parent::model($className);
    }

Usage Example

 /**
  * Delete the queue and the queues that are are solely dependent on it.
  *
  * @param $queue_id
  *
  * @throws \Exception
  * @throws \Exception
  */
 public function delete($queue_id)
 {
     $transaction = Yii::app()->db->getCurrentTransaction() === null ? Yii::app()->db->beginTransaction() : false;
     try {
         $queue = $this->readModel($queue_id);
         // remove dependendent outcomes
         $remove_ids = $queue->getDependentQueueIds();
         $remove_ids[] = $queue_id;
         // how I'd do it if BaseActiveRecordVersioned supported delete with an in condition
         /*
         $criteria = new \CDbCriteria();
         $criteria->addInCondition('outcome_queue_id', $remove_ids);
         $criteria->addInCondition('queue_id', $remove_ids, 'OR');
         models\QueueOutcome::model()->deleteAll($criteria);
         
         // remove dependent and actual queues
         $criteria = new \CDbCriteria();
         $criteria->addInCondition($this->model->getPrimaryKey(), $remove_ids);
         $this->model->deleteAll($criteria);
         */
         // instead ...
         foreach ($remove_ids as $rid) {
             $criteria = new \CDbCriteria();
             $criteria->addColumnCondition(array('outcome_queue_id' => $rid, 'queue_id' => $rid), 'OR');
             models\QueueOutcome::model()->deleteAll($criteria);
             $this->model->deleteByPk($rid);
         }
         \Audit::add('admin', 'delete', $queue->id, null, array('module' => 'PatientTicketing', 'model' => $queue->getShortModelName()));
         if ($transaction) {
             $transaction->commit();
         }
     } catch (\Exception $e) {
         if ($transaction) {
             $transaction->rollback();
         }
         throw $e;
     }
 }