예제 #1
0
 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();
     }
 }