Наследование: extends BaseActiveRecordVersioned
 public function testUpdateTreatments()
 {
     $event = $this->ev('event1');
     $el = new models\Element_OphCiExamination_Dilation();
     $el->event_id = $event->id;
     $el->eye_id = \Eye::BOTH;
     $el->left_treatments = array($this->getValidTreatmentMock());
     $el->right_treatments = array($this->getValidTreatmentMock());
     $el->save();
     $this->delete_element_ids[] = $el->id;
     $el->updateTreatments(\Eye::LEFT, array(array('drug_id' => $this->drugs['drug1']['id'], 'drops' => 2, 'treatment_time' => '11:00')));
     $el->updateTreatments(\Eye::RIGHT, array(array('drug_id' => $this->drugs['drug2']['id'], 'drops' => 2, 'treatment_time' => '11:00')));
     $this->assertCount(1, models\OphCiExamination_Dilation_Treatment::model()->findAll('element_id = ? AND side = ?', array($el->id, models\OphCiExamination_Dilation_Treatment::LEFT)));
     $this->assertCount(1, models\OphCiExamination_Dilation_Treatment::model()->findAll('element_id = ? AND side = ?', array($el->id, models\OphCiExamination_Dilation_Treatment::RIGHT)));
 }
Пример #2
0
 /**
  * set the dilation treatments against the element from the provided data.
  *
  * @param models\Element_OphCiExamination_Dilation $element
  * @param $data
  * @param $index
  */
 protected function setComplexAttributes_Element_OphCiExamination_Dilation(models\Element_OphCiExamination_Dilation $element, $data, $index)
 {
     $model_name = \CHtml::modelName($element);
     foreach (array('left' => \Eye::LEFT, 'right' => \Eye::RIGHT) as $side => $eye_id) {
         $dilations = array();
         $checker = 'has' . ucfirst($side);
         if ($element->{$checker}()) {
             if (isset($data[$model_name][$side . '_treatments'])) {
                 foreach ($data[$model_name][$side . '_treatments'] as $idx => $p_treat) {
                     if (@$p_treat['id']) {
                         $dilation = models\OphCiExamination_Dilation_Treatment::model()->findByPk($p_treat['id']);
                     } else {
                         $dilation = new models\OphCiExamination_Dilation_Treatment();
                     }
                     $dilation->attributes = $p_treat;
                     $dilations[] = $dilation;
                 }
             }
         }
         $element->{$side . '_treatments'} = $dilations;
     }
 }