user = $user; $this->search = $search; } public function apply(Builder $builder, Model $model) { if($this->user['id'] != Employee::SPECIAL_ADMIN) { $depart_id = $this->user['depart_range']; $user_id = $this->user['id']; $data = $this->search; $builder->orwhere(function ($query) use ($depart_id,$user_id,$data){ $query->where(function ($query_sub) use ($depart_id,$user_id){ $query_sub->whereIn('depart_id', $depart_id) ->orWhereIn('top_depart_id',$depart_id) ->orWhere('crt_id', $user_id); }); }); } } }