Пример #1
0
 public function getSearch()
 {
     $builder = User::orderBy('updated_at');
     $pageSize = $this->request()->get('pageSize', 36);
     $sex = $this->request()->get('sex', UserEnum::SEX_FEMALE);
     $ageStart = $this->request()->get('age_start');
     $ageEnd = $this->request()->get('age_end');
     $wordkProvince = $this->request()->get('work_province');
     if ($sex) {
         $builder->where('sex', $sex);
     }
     if ($ageStart) {
         $birStart = ageToYear($ageStart);
         $builder->where('birthday', '<=', $birStart);
     }
     if ($ageEnd) {
         $birEnd = ageToYear($ageEnd);
         $builder->where('birthday', '>=', $birEnd);
     }
     if ($wordkProvince) {
         $builder->where('work_province', 'like', $wordkProvince);
     }
     $users = $builder->paginate($pageSize);
     $users->appends($this->request()->all());
     return $this->view('search')->with('users', $users);
 }
Пример #2
0
 public function index()
 {
     $where = $this->request()->all();
     $orderby = array_get($where, 'order', 'created_at');
     $sortby = array_get($where, 'sort', 'desc');
     \DB::enableQueryLog();
     $users = User::orderBy($orderby, $sortby);
     if (array_get($where, 'status')) {
         $users->status($where['status']);
     }
     if (array_get($where, 'level')) {
         $users->level($where['level']);
     }
     if (array_get($where, 'sex')) {
         $users->where('sex', $where['sex']);
     }
     if (array_get($where, 'age_start')) {
         $users->where('birthday', '<=', ageToYear($where['age_start']));
     }
     if (array_get($where, 'age_end')) {
         $users->where('birthday', '>=', ageToYear($where['age_end']));
     }
     if (array_get($where, 'keyword')) {
         $users->where(function ($query) use($where) {
             $keyword = '%' . $where['keyword'] . '%';
             $query->where('user_name', 'like', $keyword)->orWhere('mobile', 'like', $keyword)->orWhere('realname', 'like', $keyword)->orWhere('user_id', 'like', $keyword);
         });
     }
     $users = $users->with('likeMe')->paginate(array_get($where, 'size', 10));
     foreach ($where as $key => $query) {
         if ($key && $query) {
             $users->appends($key, $query);
         }
     }
     return $this->view('index')->with('users', $users);
 }