Les clauses ici sont appliquées à partir de la première requête configurée dans union()
méthode, il suffit donc d'inverser l'endroit où vous les placez :
$query1 = DB::select('p.name')
->from(array('person', 'p'))
->where('p.organization', 'LIKE', 'foo%')
->group_by('name')
->order_by('name')
->limit(10);
$names = DB::select('sh.name')
->union($query1, FALSE)
->from(array('stakeholder', 'sh'))
->where('sh.organization', 'LIKE', 'foo%')
->execute()
->as_array();
Vous pouvez également supprimer ce superflu ->limit(10)
de $names
puisqu'il sera ignoré et remplacé par celui de $query1
.