2017-03-06 1 views
0

J'ai 10 tables que je veux 'union'. Voici mon nom de table avec les mêmes champs.Laravel 5 - Comment utiliser union dans plus de deux tables/requêtes avec Query Builder ou Eloquent?

sell_2007 
sell_2008 
sell_2009 
... 
sell_2015 
sell_2016 

Dans l'exemple donné par Laravel faire l'union dans les deux tableaux que (https://laravel.com/docs/5.3/queries#unions), comment si la table plus de deux tables/requêtes? Dans mon cas, il y a 10 tables. Comment faire cela avec Query Builder ou Eloquent?

Nous vous remercions de votre aide.

Répondre

-1

Vous pouvez ajouter plusieurs unions comme celle-ci;

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

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

Vous trouverez peut-être que vous obtenez une meilleure performance pour l'union des tables en utilisant la requête SQL RAW.

+0

SQLSTATE [21000]: Violation de la cardinalité: 1222 Les instructions SELECT utilisées ont un nombre différent de colonnes. – Fredy

+0

Vous devrez spécifier le même nombre de colonnes pour chaque table de l'union. – TedRed