Пример #1
0
 public function testGetInstance()
 {
     $this->assertEmpty(Where::getInstance(array())->getSQL(), 'Not Empty');
     $w1 = new Where(array('a' => 'b'));
     $this->assertEquals($w1, Where::getInstance($w1));
     $w2 = Where::getInstance(array('a' => 'b'));
     $this->assertEquals($w1->getSQL(), $w2->getSQL());
     $this->assertEquals($w1->getParams(), $w2->getParams());
 }
Пример #2
0
 /**
  * Gera um comando SQL de delete no banco de dados
  * Se não houver uma condição WHERE por segurança não será gerado o comando
  * @param string $table Nome da tabela
  * @param mixed $where Array associativo no formato wherearray ou um objeto Where
  * @example
  *   var_dump($query->delete("tabela1", ['id' => 33]));
  *   //Saida: array(
  *      'status' => true,
  *      'sql' => 'DELETE FROM tabela1 WHERE id = ?',
  *      'values' => array(33)
  *    )
  * 
  * @return array No formato queryresult
  */
 public function delete($table, $where)
 {
     if (!$this->validateTable($table)) {
         return $this->returnQueryResultError('O nome da tabela é inválido');
     }
     $where = Where::getInstance($where);
     if ($where->isEmpty()) {
         return $this->returnQueryResultError('Condição inválida para um comando DELETE');
     }
     $sql = 'DELETE FROM ' . $table . ' ' . $where->getSQL();
     return $this->getQueryResult($sql, $where->getParams());
 }
Пример #3
0
 /**
  * @covers Expression::setHaving
  * @covers Expression::getHaving
  * @covers Expression::hasHaving
  * @covers Expression::clearHaving
  */
 public function testHaving()
 {
     $this->assertFalse($this->object->hasHaving(), 'Having deveria ser vazio');
     $this->assertEquals($this->object, $this->object->setHaving(array('id' => 1)), 'Não retornou o objeto');
     $this->assertTrue($this->object->hasHaving(), 'Having não deveria ser vazio');
     $this->assertEquals(array(1), $this->object->getHaving()->getParams(), 'Parametro inválido para o having');
     $this->object->setHaving(array());
     $this->assertFalse($this->object->hasHaving(), 'Having deveria ser vazio novamente');
     $where = Where::getInstance(array('id' => 2));
     $this->object->setHaving($where);
     $this->assertEquals($where, $this->object->getHaving());
     $this->assertEquals($this->object, $this->object->clearHaving(), 'Não retornou o objeto');
     $this->assertFalse($this->object->hasHaving(), 'Having deveria ser vazio novamente');
 }
Пример #4
0
 /**
  * Adiciona uma condição para a clausurá HAVING
  * @param mixed $where wherearray ou um objeto Where para condição da consulta
  * @return \Expression
  */
 public function setHaving($where)
 {
     $this->having = Where::getInstance($where);
     return $this;
 }