OEModule\OphCiExamination\models\OphCiExamination_VisualAcuity_Reading::getClosest PHP Method

getClosest() public method

Get the closest step value for a unit.
public getClosest ( integer $base_value, integer $unit_id = null ) : OphCiExamination_VisualAcuityUnitValue
$base_value integer
$unit_id integer
return OphCiExamination_VisualAcuityUnitValue
    public function getClosest($base_value, $unit_id = null)
    {
        if (!$unit_id) {
            $unit_id = $this->element->unit_id;
        }
        $criteria = new \CDbCriteria();
        $criteria->select = array('*', 'ABS(base_value - :base_value) AS delta');
        $criteria->condition = 'unit_id = :unit_id';
        $criteria->params = array(':unit_id' => $unit_id, ':base_value' => $base_value);
        $criteria->order = 'delta';
        $value = OphCiExamination_VisualAcuityUnitValue::model()->find($criteria);
        return $value;
    }