控制器:
public function searchUsername(){
$result=UserModel::withSearch(['username','create_time'=>'ct','status'],[
'username'=>'小',
'ct'=>['2000-01-01','2021-01-01'],
'status'=>1,
'sort'=>['num'=>'desc']
])->selectOrFail();
return Db::getLastSql();
// return json($result);
}
模型:
//封装模糊查询
public function searchUsernameAttr($query,$value){
$query->whereLike('username',[$value.'%','大'],'or');
}
//封装一个时间查询
public function searchCreateTimeAttr($query,$value){
$query->whereBetweenTime('create_time',$value[0],$value[1]);
}
//封装一个status状态查询,查询正常状态的人
public function searchStatusAttr($query,$value,$data){
$query->where('status',$value);
if(isset($data['sort'])){
$query->order($data['sort']);
}
}