Ejemplo n.º 1
0
 public function testBuildSelectUnions()
 {
     $user = new User();
     $query = $user->select('id');
     $query->union($query->subQuery('id')->from('u1'));
     $this->assertRegExp('/SELECT\\s+(`|\\")?id(`|\\")? FROM (`|\\")?users(`|\\")?\\s+ UNION  SELECT\\s+(`|\\")?id(`|\\")? FROM (`|\\")?u1(`|\\")?;/', $this->object->buildSelect($query));
     // more joins
     $query->union($query->subQuery('id')->from('u2'), 'all');
     $this->assertRegExp('/SELECT\\s+(`|\\")?id(`|\\")? FROM (`|\\")?users(`|\\")?\\s+ UNION  SELECT\\s+(`|\\")?id(`|\\")? FROM (`|\\")?u1(`|\\")? UNION ALL SELECT\\s+(`|\\")?id(`|\\")? FROM (`|\\")?u2(`|\\")?;/', $this->object->buildSelect($query));
     // order by limit
     $query->orderBy('id', 'DESC')->limit(10);
     $this->assertRegExp('/SELECT\\s+(`|\\")?id(`|\\")? FROM (`|\\")?users(`|\\")?\\s+ UNION  SELECT\\s+(`|\\")?id(`|\\")? FROM (`|\\")?u1(`|\\")? UNION ALL SELECT\\s+(`|\\")?id(`|\\")? FROM (`|\\")?u2(`|\\")? ORDER BY (`|\\")?id(`|\\")? DESC LIMIT 10;/', $this->object->buildSelect($query));
 }