예제 #1
0
 /**
  * @param Select $select
  * @return string
  */
 protected function _renderJoin(Select $select)
 {
     $sql = $select->getJoinType() ? "{$select->getJoinType()} " : "";
     $sql .= "JOIN";
     $sql .= " ";
     $on = " ON ";
     $sql .= $this->_renderTableWithAlias($select->getTable());
     $sql .= $on;
     $sql .= $this->_renderFilter($select->getJoinCondition(), 1);
     return $sql;
 }
 public function testFilter()
 {
     $select = new Select('project');
     $f = $select->filter();
     $this->assertInstanceOf('\\RBM\\SqlQuery\\Filter', $f);
     $this->assertEquals($select->getTable(), $f->getTable());
     $f2 = new \RBM\SqlQuery\Filter();
     $f2->setTable('user');
     $ok = false;
     try {
         $select->setFilter($f2);
     } catch (\RBM\SqlQuery\Exception $e) {
         $ok = true;
     }
     if (!$ok) {
         $this->fail("Exception has to be thrown when the filter's table was not the same as select's one");
     }
 }