public function show($timing_id) { $this->authenticate(); $row = $this->db->where('id', $timing_id)->get('timings')->row(); if ($row == NULL) { $this->output->set_status_header(404)->set_output(json_encode(array('code' => 404, 'message' => 'Timing not found with given ID'))); $this->output->_display(); exit; } $timing = Timing_model::initialize($row); $result = $this->db->join('student_timings', 'student_timings.student_id = users.id', 'INNER')->where('student_timings.timing_id', $timing->id)->get('users')->result(); $students = array(); foreach ($result as $row) { $students[] = User_model::initialize($row)->asJsonStudent(); } $output = $timing->asJson(); $output['students'] = $students; $this->output->set_status_header(200)->set_output(json_encode($output)); }
public function destroy() { $result = $this->db->where('route_id', $this->id)->get('timings')->result(); foreach ($result as $row) { $timing = Timing_model::initialize($row); $timing->remove(); } $this->db->delete('routes', array('id' => $this->id)); return $this->db->affected_rows(); }
public static function createFrom($route_id, $params) { foreach ($params as $timing) { if (isset($timing->id)) { $timing = Timing_model::initialize($timing); $timing->update(); } else { $object = new self(); $object->route_id = $route_id; foreach ($timing as $key => $value) { if (property_exists($object, $key)) { $object->{$key} = $value; } } } $object->save(); } }