laravel框架使用Eloquent orm实现多个模型数据集合并union

2023-06-01 00:00:00 多个 模型 框架

在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 操作,需要确保从所有查询返回的字段是相同的,否则就会出现错误


相关文章