/** * @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"); } }