public function setUp() { $left = OSQL::select()->from('leftTable')->get('a')->get('b', 'c'); $middle = OSQL::select()->from('middleTable')->get('a')->get('c'); $right = OSQL::select()->from('rightTable')->get('d', 'a')->get('c'); $this->singleUnion = CombineQuery::union($left, $right); $this->singleUnionAll = CombineQuery::unionAll($left, $right); $this->singleIntersect = CombineQuery::intersect($left, $right); $this->singleIntersectAll = CombineQuery::intersectAll($left, $right); $this->singleExcept = CombineQuery::except($left, $right); $this->singleExceptAll = CombineQuery::exceptAll($left, $right); $this->blockUnion = CombineQuery::unionBlock($left, $middle, $right); $this->blockUnionAll = CombineQuery::unionAllBlock($left, $middle, $right); $this->limitedOrderedUnion = CombineQuery::union($left, $right)->orderBy('a')->limit(2, 3); }
echo "</pre>"; // example Chain $queryUnion2 = CombineQuery::chain(); $queryUnion2->union($query1); $queryUnion2->intersect($query2); $queryUnion2->except($query3); echo "<pre>"; print_r($queryUnion2->toDialectString($db->getDialect())); echo "</pre>"; // example Block $queryUnion3 = CombineQuery::exceptBlock($query1, $query2, $query3); echo "<pre>"; print_r($queryUnion3->toDialectString($db->getDialect())); echo "</pre>"; // example composite $queryUnion4 = CombineQuery::union($query1, $queryUnion3); echo "<pre>"; print_r($queryUnion4->toDialectString($db->getDialect())); echo "</pre>"; $query5 = OSQL::select()->get(new DBField('id', 'foo'))->from($queryUnion3, "foo"); echo "<pre>"; print_r($query5->toDialectString($db->getDialect())); echo "</pre>"; $query6 = OSQL::select()->get(new DBField('id', 'messages'))->from('messages')->where(Expression::in('id', $queryUnion3)); echo "<pre>"; print_r($query6->toDialectString($db->getDialect())); echo "</pre>"; $query7 = OSQL::select()->get(new DBField('id', 'messages'))->from(CombineQuery::union($query1, $query2), 'foo'); echo "<pre>"; print_r($query7->toDialectString($db->getDialect())); echo "</pre>";