protected function _testDbElement($id, $lft, $rgt, $lvl, $prt) { $query = new \T4\Dbal\QueryBuilder(); $query->select('*')->from('comments')->where('__id=:id')->params([':id' => $id]); $res = $this->getT4Connection()->query($query)->fetch(); $this->assertEquals($lft, $res['__lft']); $this->assertEquals($rgt, $res['__rgt']); $this->assertEquals($lvl, $res['__lvl']); $this->assertEquals($prt, $res['__prt']); }
public function testAssignOrder() { $builder = new \T4\Dbal\QueryBuilder(); $b = $builder->select()->from('test')->where('id=:id')->order('id DESC'); $this->assertInstanceOf('\\T4\\Dbal\\QueryBuilder', $b); $this->assertEquals($b, $builder); $this->assertEquals(['*'], $builder->select); $this->assertEquals(['test'], $builder->from); $this->assertEquals('id=:id', $builder->where); $this->assertEquals('id DESC', $builder->order); }
public function testPgslqMakeSelectQuery() { $builder = new \T4\Dbal\QueryBuilder(); $query = $builder->select()->from('test')->getQuery('pgsql'); $this->assertEquals("SELECT *\nFROM \"test\" AS t1", $query); $builder = new \T4\Dbal\QueryBuilder(); $query = $builder->select('t1.a1, t2.a2')->from('test1', 'test2')->where('a1=:a1')->getQuery('pgsql'); $this->assertEquals("SELECT t1.\"a1\", t2.\"a2\"\nFROM \"test1\" AS t1, \"test2\" AS t2\nWHERE a1=:a1", $query); $builder = new \T4\Dbal\QueryBuilder(); $query = $builder->select('t1.a1, t2.a2')->from('test1', 'test2')->where('a1=:a1')->order('id')->offset(20)->limit(10)->getQuery('pgsql'); $this->assertEquals("SELECT t1.\"a1\", t2.\"a2\"\nFROM \"test1\" AS t1, \"test2\" AS t2\nWHERE a1=:a1\nORDER BY id\nOFFSET 20\nLIMIT 10", $query); $builder = new \T4\Dbal\QueryBuilder(); $query = $builder->select('t1.a1, j1.a2')->from('test1, test2')->join('foo', 'j1.id=t1.id')->join('bar', 'j2.id<t2.id', 'left')->join('baz', 'j3.id>:baz', 'right')->getQuery('pgsql'); $this->assertEquals("SELECT t1.\"a1\", j1.\"a2\"\nFROM \"test1\" AS t1, \"test2\" AS t2\nFULL JOIN \"foo\" AS j1 ON j1.id=t1.id\nLEFT JOIN \"bar\" AS j2 ON j2.id<t2.id\nRIGHT JOIN \"baz\" AS j3 ON j3.id>:baz", $query); }
public function testMysqlMakeSelectQuery() { $builder = new \T4\Dbal\QueryBuilder(); $query = $builder->select()->from('test')->getQuery('mysql'); $this->assertEquals("SELECT *\nFROM `test` AS t1", $query); $builder = new \T4\Dbal\QueryBuilder(); $query = $builder->select('t1.a1, t2.a2')->from('test1', 'test2')->where('a1=:a1')->getQuery('mysql'); $this->assertEquals("SELECT t1.`a1`, t2.`a2`\nFROM `test1` AS t1, `test2` AS t2\nWHERE a1=:a1", $query); $builder = new \T4\Dbal\QueryBuilder(); $query = $builder->select('t1.a1, t2.a2')->from('test1', 'test2')->where('a1=:a1')->order('id')->offset(20)->limit(10)->getQuery('mysql'); $this->assertEquals("SELECT t1.`a1`, t2.`a2`\nFROM `test1` AS t1, `test2` AS t2\nWHERE a1=:a1\nORDER BY id\nLIMIT 20, 10", $query); $builder = new \T4\Dbal\QueryBuilder(); $query = $builder->select('t1.a1, j1.a2')->from('test1, test2')->join('foo', 'j1.id=t1.id')->join('bar', 'j2.id<t2.id', 'left')->join('baz', 'j3.id>:baz', 'right')->getQuery('mysql'); $this->assertEquals("SELECT t1.`a1`, j1.`a2`\nFROM `test1` AS t1, `test2` AS t2\nFULL JOIN `foo` AS j1 ON j1.id=t1.id\nLEFT JOIN `bar` AS j2 ON j2.id<t2.id\nRIGHT JOIN `baz` AS j3 ON j3.id>:baz", $query); }