Laravel 5 - 如何使用查询生成器或 Eloquent 在两个以上的表/查询中使用联合?

Fre*_*edy 4 php unions laravel laravel-5.3

我有 10 张桌子,我想要“联合”。这里我的表名具有相同的字段。

sell_2007
sell_2008
sell_2009
...
sell_2015
sell_2016
Run Code Online (Sandbox Code Playgroud)

在 laravel 给出的例子中只在两个表中做联合(https://laravel.com/docs/5.3/queries#unions),如果表超过两个表/查询怎么办?就我而言,有 10 张桌子。如何使用 Query Builder 或 Eloquent 做到这一点?

感谢您的帮助。

小智 6

您可以像这样添加多个联合;

$first = DB::table('sell_2007');
$second = DB::table('sell_2008');

$users = DB::table('users')
        ->union($first)
        ->union($second)
        ->get();
Run Code Online (Sandbox Code Playgroud)

您可能会发现使用 RAW SQL 查询联合表可以获得更好的性能。