Esempio n. 1
0
 /**
  * @param string $whereOperator
  *
  * @return \NilPortugues\Sql\QueryBuilder\Syntax\Where
  */
 public function where($whereOperator = 'AND')
 {
     return $this->select->where($whereOperator);
 }
 /**
  * @test
  */
 public function itShouldBeAbleToDoWhereNotExists()
 {
     $select = new Select('banned_user');
     $select->where()->equals('user_id', 1);
     $this->query->setTable('user')->setColumns(array('user_id', 'role_id'))->where()->notExists($select)->equals('user', 'Nil');
     $expected = 'SELECT user.user_id, user.role_id FROM user WHERE (user.user = :v1) AND ' . 'NOT EXISTS (SELECT banned_user.* FROM banned_user WHERE (banned_user.user_id = :v2))';
     $this->assertSame($expected, $this->writer->write($this->query));
     $expected = array(':v1' => 'Nil', ':v2' => 1);
     $this->assertEquals($expected, $this->writer->getValues());
 }
Esempio n. 3
0
 /**
  * @test
  */
 public function itShouldSetNotExistsCondition()
 {
     $select1 = new Select('user');
     $select1->where()->equals('user_id', 10);
     $result = $this->where->notExists($select1)->getNotExists();
     $this->assertEquals(array($select1), $result);
 }
 /**
  * @test
  */
 public function itShouldAllowSelectQueryToActAsAColumn()
 {
     $table1 = new Select('Table1');
     $table1->where()->equals('table1_id', 1);
     $table2 = new Select('Table2');
     $table2->where()->eq($table1, 2);
     $expected = 'SELECT Table2.* FROM Table2 WHERE ((SELECT Table1.* FROM Table1 ' . 'WHERE (Table1.table1_id = :v1)) = :v2)';
     $this->assertSame($expected, $this->writer->write($table2));
     $expected = array(':v1' => 1, ':v2' => 2);
     $this->assertEquals($expected, $this->writer->getValues());
 }