/** * @covers Zend\Db\Sql\Delete::where */ public function testWhere() { $this->delete->where('x = y'); $this->delete->where(array('foo > ?' => 5)); $this->delete->where(array('id' => 2)); $this->delete->where(array('a = b'), Where::OP_OR); $where = $this->delete->where; $predicates = $this->readAttribute($where, 'predicates'); $this->assertEquals('AND', $predicates[0][0]); $this->assertInstanceOf('Zend\Db\Sql\Predicate\Expression', $predicates[0][1]); $this->assertEquals('AND', $predicates[1][0]); $this->assertInstanceOf('Zend\Db\Sql\Predicate\Expression', $predicates[1][1]); $this->assertEquals('AND', $predicates[2][0]); $this->assertInstanceOf('Zend\Db\Sql\Predicate\Operator', $predicates[2][1]); $this->assertEquals('OR', $predicates[3][0]); $this->assertInstanceOf('Zend\Db\Sql\Predicate\Expression', $predicates[3][1]); $where = new Where; $this->delete->where($where); $this->assertSame($where, $this->delete->where); $test = $this; $this->delete->where(function ($what) use ($test, $where) { $test->assertSame($where, $what); }); }
public function delete(PostInterface $postObject) { $action = new Delete($postObject); $action->where(array('id=?' => $postObject->getId())); $sql = new Sql($this->Adapter); $stmt = $sql->prepareStatementForSqlObject($action); $result = $stmt->execute(); return (bool) $result->getAffectedRows(); }
/** * @group pull-request-1813 * @covers Zend\Db\Sql\Delete::where */ public function testDeleteWhereCombination() { $this->delete->where(array('one' => 1, 'two' => 2)); $this->assertCount(2, $this->delete->getRawState('where')); }
/** * @covers Zend\Db\Sql\Delete::where */ public function testWhere() { $this->delete->where('x = y'); $this->delete->where(array('foo > ?' => 5)); $this->delete->where(array('id' => 2)); $this->delete->where(array('a = b'), Where::OP_OR); $this->delete->where(array('c1' => null)); $this->delete->where(array('c2' => array(1, 2, 3))); $this->delete->where(array(new \Zend\Db\Sql\Predicate\IsNotNull('c3'))); $this->delete->where(array('one' => 1, 'two' => 2)); $where = $this->delete->where; $predicates = $this->readAttribute($where, 'predicates'); $this->assertEquals('AND', $predicates[0][0]); $this->assertInstanceOf('Zend\\Db\\Sql\\Predicate\\Expression', $predicates[0][1]); $this->assertEquals('AND', $predicates[1][0]); $this->assertInstanceOf('Zend\\Db\\Sql\\Predicate\\Expression', $predicates[1][1]); $this->assertEquals('AND', $predicates[2][0]); $this->assertInstanceOf('Zend\\Db\\Sql\\Predicate\\Operator', $predicates[2][1]); $this->assertEquals('OR', $predicates[3][0]); $this->assertInstanceOf('Zend\\Db\\Sql\\Predicate\\Expression', $predicates[3][1]); $this->assertEquals('AND', $predicates[4][0]); $this->assertInstanceOf('Zend\\Db\\Sql\\Predicate\\IsNull', $predicates[4][1]); $this->assertEquals('AND', $predicates[5][0]); $this->assertInstanceOf('Zend\\Db\\Sql\\Predicate\\In', $predicates[5][1]); $this->assertEquals('AND', $predicates[6][0]); $this->assertInstanceOf('Zend\\Db\\Sql\\Predicate\\IsNotNull', $predicates[6][1]); $this->assertEquals('AND', $predicates[7][0]); $this->assertInstanceOf('Zend\\Db\\Sql\\Predicate\\Operator', $predicates[7][1]); $this->assertEquals('AND', $predicates[8][0]); $this->assertInstanceOf('Zend\\Db\\Sql\\Predicate\\Operator', $predicates[8][1]); $where = new Where(); $this->delete->where($where); $this->assertSame($where, $this->delete->where); $test = $this; $this->delete->where(function ($what) use($test, $where) { $test->assertSame($where, $what); }); }