Laravel 多 where 并搜索
$size= (int)$request->size;
$page= (int)$request->page;
if(empty($page)) $page =1;
if(empty($size)) $size =10;
$ofsset = $size * ($page -1);
// var_dump($name);
$threatlistmodel = new ThreatList();
$total = $threatlistmodel->where(function($query) use ($data){
$data['name'] && $query->where("name","like","%".$data['name']."%");
isset($data['level']) && $query->where("level",$data['level']);
isset($data['is_tb']) && $query->where("is_tb",$data['is_tb']);
$data['end_at'] && $query->where("find_at","<=",$data['end_at'].' 23:59:59');
$data['start_at'] && $query->where("find_at","=>",$data['start_at'].' 00:00:01');
$query->where("is_state",1);
})->count();
//var_dump($total);
$list = $threatlistmodel->where(function($query) use ($data){
$data['name'] && $query->where("name","like","%".$data['name']."%");
isset($data['level']) && $query->where("level",$data['level']);
isset($data['is_tb']) && $query->where("is_tb",$data['is_tb']);
$data['end_at'] && $query->where("find_at","<=",$data['end_at'].' 23:59:59');
$data['start_at'] && $query->where("find_at",">=",$data['start_at'].' 00:00:01');
$query->where("is_state",1);
})->orderBy("id","desc")->offset($ofsset)->limit($size)->get()->each(function($item){
$con_info = json_decode(unserialize($item->count_con),true);
$item['ip_count'] = $con_info["total"];
unset($item->count_con);
});
来源于博主分享
本作品采用《CC 协议》,转载必须注明作者和本文链接
写的不错,不过你的开始时间和结束时间都少了1秒
为什么不用when
这个代码
可以改成
eloquentfilter可以了解一下,有可能会帮助到你
这。。 这帖子我记得1年前好像有人发过一模一样的呢
楼主比我还新 :joy:
快速入门《Laravel 8 中文文档》 动态作用域,可以加判断条件去复用
@caomaoboy 代码质量低,进步空间很大,好好努力
GraphQL :relieved: