laravel框架使用Eloquent orm实现多个模型数据集合并union
在laravel中使用UNION 合并数据方式有两种
1.直接在db在查询构造器中实现
查询语句构造器也提供了一个快捷的方法来「合并」两个查找。
例如,你可以先创建一个初始查找,然后使用 union 方法将它与第二个查找进行合并:
$first = DB::table('users')
->whereNull('first_name');
$users = DB::table('users')
->whereNull('last_name')
->union($first)
->get();
2.Eloquent 进行 Union
该文章就是介绍这个
$query1 = User::select (
'id',
'name',
\DB::raw ( '"first_name" AS name' )
)->where ( 'name', 'LIKE', '%zongscan%' );
$query2 = User1::select (
'id',
'name',
\DB::raw ( '"two_name" AS name' )
)->where ( 'name', 'LIKE', '%zongcan%' );
$query2->union ( $query1 )->get();
ps:
UNION 操作,需要确保从所有查询返回的字段是相同的,否则就会出现错误
相关文章