/** * @param string $table * @param string $selfColumn * @param string $refColumn * @param string[] $columns * @param string $joinType * * @return Select */ public function join($table, $selfColumn = null, $refColumn = null, $columns = array(), $joinType = null) { if (!isset($this->joins[$table])) { $select = QueryFactory::createSelect($table); $select->setColumns($columns); $select->setJoinType($joinType); $this->addJoin($select, $selfColumn, $refColumn); } return $this->joins[$table]; }
/** * @test */ public function itShouldCreateSelectObject() { $className = '\\NilPortugues\\Sql\\QueryBuilder\\Manipulation\\Select'; $this->assertInstanceOf($className, QueryFactory::createSelect()); }
/** * @param string $table * @param array $columns * * @return \NilPortugues\Sql\QueryBuilder\Manipulation\Select */ public function select($table = null, array $columns = null) { return $this->injectBuilder(QueryFactory::createSelect($table, $columns)); }