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); }
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); }