public function getOCTSFTHistoryForSide($episode, $side, $before = null) { if ($events = $this->getEventsInEpisode($episode->patient, $episode)) { if ($side == 'left') { $side_list = array(\Eye::LEFT, \Eye::BOTH); } else { $side_list = array(\Eye::RIGHT, \Eye::BOTH); } $res = array(); foreach ($events as $event) { $criteria = new \CDbCriteria(); $criteria->compare('event_id', $event->id); $criteria->addInCondition('eye_id', $side_list); if ($before) { $criteria->addCondition('event.created_date < :edt'); $criteria->params[':edt'] = $before; } if ($el = models\Element_OphCiExamination_OCT::model()->with('event')->find($criteria)) { $res[] = array('date' => $event->created_date, 'sft' => $el->{$side . '_sft'}); } } return $res; } }