联合查询用于将两个或更多查询的结果集组合为单个结果集,该结果集包含联合查询中所有查询的全部行。UNION的结果集列名与UNION运算符中第一个Select语句的结果集的列名相同,另一个Select语句的结果集列名将被忽略,且其他查询字段数必须和第一个相同。
今天博客园分享一下联合查询并且分页代码
- $xk = DB::table('xiaokes')->select(['id','xk_name as name','xk_teacher_id as tid','ke_type','created_at'])
- ->where('xk_teacher_id',$id);
- $query = DB::table('zhuanlans')->select(['id','zl_name as name','zl_teacher_id as tid','ke_type','created_at'])
- ->where('zl_teacher_id',$id)->union($xk);
- $result = DB::table(DB::raw("({$query->toSql()}) as a"))->mergeBindings($query->getQuery())
- ->orderBy('created_at','desc')->paginate(20);