Laravel 5 - 如何在Query Builder或Eloquent的两个表/查询中使用union?

时间:2017-03-06 02:41:18

标签: php laravel laravel-5.3 unions

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

sell_2007
sell_2008
sell_2009
...
sell_2015
sell_2016

在laravel给出的例子中,只在两个表中使用union(https://laravel.com/docs/5.3/queries#unions),如果表中有多个表/查询怎么办?在我的情况下,有10个表。如何使用Query Builder或Eloquent做到这一点?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

你可以添加这样的多个联盟;

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

$users = DB::table('users')
        ->union($first)
        ->union($second)
        ->get();

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