laravel model
$query = DB::table(self::$_table) ->when(!empty($params), function($query) use ($params){ foreach ($params as $column=>$val){ $query->where($column, $val); } }) ->where('del_status', Constant::DATA_IS_NORMAL); return (array)$query->first(['*']);
Union All :
$fields = ['uuid','title','end_time','end_time_range','city_sys_no','city_name','interested_cnt','created_at','updated_at']; $where = [ ['end_time','>=', date('Y-m-d')], ['del_status' , Constant::DATA_IS_NORMAL], [self::TABLE_FIELD_PUBLISH , Constant::IS_ENABLED], ]; $query1 = DB::table('activity_info')->select($fields)->where($where)->orderBy('end_time','asc')->limit(1000); $where = [ ['end_time','<', date('Y-m-d')], ['del_status' , Constant::DATA_IS_NORMAL], [self::TABLE_FIELD_PUBLISH , Constant::IS_ENABLED], ]; $query2 = DB::table('activity_info')->select($fields)->where($where)->orderBy('end_time','desc')->limit(1000); $mergedQuery = $query1->unionAll($query2); //$results = $mergedQuery->get(); //查询全部记录数据(不需要分页时的处理) //分页处理 $size = $param['limit'] ?? BaseModel::getPageSize(); $page = $mergedQuery->paginate($size, $fields,'page'); $total = $page->total(); //总记录数量 $results = $page->items(); //分页后的查询数据列表
posted on 2024-02-29 14:45 andydaopeng 阅读(3) 评论(0) 编辑 收藏 举报