Beispiel #1
0
 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']);
 }
Beispiel #2
0
 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);
 }
Beispiel #3
0
 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);
 }
Beispiel #4
0
 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);
 }