예제 #1
0
 public function query($query_restrict, $extend)
 {
     $rule = $this->valid_query_string($query_restrict);
     if (empty($rule)) {
         return new \Illuminate\Database\Eloquent\Collection();
     }
     if (isset($extend['now'])) {
         $this->course = $this->course->where('time1', '!=', '');
     }
     foreach ($rule as $key => $value_array) {
         $column = $this->rule_mapping[$key];
         $this->course = $this->course->where(function ($query) use($column, $value_array) {
             if ($column == 'course_department' || $column == 'time1' || $column == 'time2' || $column == 'place') {
                 foreach ($value_array as $value) {
                     $query->orWhere($column, 'like', '%' . $value . '%');
                 }
             } else {
                 $query->whereIn($column, $value_array);
             }
         });
     }
     return $this->course->get();
 }