コード例 #1
0
    /**
     * @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);
        });
    }
コード例 #2
0
 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();
 }
コード例 #3
0
ファイル: DeleteTest.php プロジェクト: Rovak/zf2
 /**
  * @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'));
 }
コード例 #4
0
ファイル: DeleteTest.php プロジェクト: haoyanfei/zf2
 /**
  * @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);
     });
 }