public function testMergeSelect()
 {
     $this->queryBuilder->select('id');
     $this->queryBuilder->select('count(*)', 'nb');
     $qb = new SelectQueryBuilder();
     $qb->select('title');
     $qb->addOption('DISTINCT');
     $this->queryBuilder->mergeSelect($qb);
     $expected = array('count(*)' => 'nb', 'id' => null, 'title' => null);
     $this->assertEquals($expected, $this->queryBuilder->getSelectParts());
     $this->assertEquals(array('DISTINCT'), $this->queryBuilder->getOptions());
 }
Пример #2
0
 /**
  * Merges the given QueryBuilder's SELECT into this QueryBuilder.
  *
  * @param \SQL\SelectQueryBuilder $QueryBuilder to merge
  *
  * @return \SQL\SelectQueryBuilder the current QueryBuilder
  */
 public function mergeSelect(SelectQueryBuilder $QueryBuilder)
 {
     foreach ($QueryBuilder->getOptions() as $currentOption) {
         $this->addOption($currentOption);
     }
     foreach ($QueryBuilder->getSelectParts() as $currentColumn => $currentAlias) {
         $this->select($currentColumn, $currentAlias);
     }
     return $this;
 }