联合查询用于将两个或更多查询的结果集组合为单个结果集,该结果集包含联合查询中所有查询的全部行。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);
$querySql = $query->toSql();
$result = DB::table(DB::raw("($querySql) as a"))
->mergeBindings($query)
->orderBy('created_at','desc')->paginate(10);