/** * Store a newly created resource in storage. * * @return Response */ public function store($measures) { $measureIds = array(); foreach ($measures as $data) { $measure = new Measure(); $measure->name = trim($data['name']); $measure->measure_type_id = $data['measure_type_id']; $measure->unit = $data['unit']; $measure->description = $data['description']; try { $measure->save(); $measureIds[] = $measure->id; } catch (QueryException $e) { Log::error($e); } if ($measure->isNumeric()) { $val['agemin'] = $data['agemin']; $val['agemax'] = $data['agemax']; $val['gender'] = $data['gender']; $val['rangemin'] = $data['rangemin']; $val['rangemax'] = $data['rangemax']; $val['interpretation'] = $data['interpretation']; // Add ranges for this measure for ($i = 0; $i < count($val['agemin']); $i++) { $measurerange = new MeasureRange(); $measurerange->measure_id = $measure->id; $measurerange->age_min = $val['agemin'][$i]; $measurerange->age_max = $val['agemax'][$i]; $measurerange->gender = $val['gender'][$i]; $measurerange->range_lower = $val['rangemin'][$i]; $measurerange->range_upper = $val['rangemax'][$i]; $measurerange->interpretation = $val['interpretation'][$i]; $measurerange->save(); } } else { if ($measure->isAlphanumeric() || $measure->isAutocomplete()) { $val['val'] = $data['val']; $val['interpretation'] = $data['interpretation']; for ($i = 0; $i < count($val['val']); $i++) { $measurerange = new MeasureRange(); $measurerange->measure_id = $measure->id; $measurerange->alphanumeric = $val['val'][$i]; $measurerange->interpretation = $val['interpretation'][$i]; $measurerange->save(); } } } } return $measureIds; }