/** * @covers Zend\Db\ResultSet\HydratingResultSet::current */ public function testCurrentWillReturnBufferedRow() { $hydratingRs = new HydratingResultSet(); $hydratingRs->initialize(new \ArrayIterator(array(array('id' => 1, 'name' => 'one'), array('id' => 2, 'name' => 'two')))); $hydratingRs->buffer(); $obj1 = $hydratingRs->current(); $hydratingRs->rewind(); $obj2 = $hydratingRs->current(); $this->assertSame($obj1, $obj2); }
/** * @covers Zend\Db\ResultSet\HydratingResultSet::current */ public function testCurrent() { $hydratingRs = new HydratingResultSet(); $hydratingRs->initialize(array(array('id' => 1, 'name' => 'one'))); $obj = $hydratingRs->current(); $this->assertInstanceOf('ArrayObject', $obj); }
/** * @param $postId int * * @return Post|null */ public function findById($postId) { $sql = new \Zend\Db\Sql\Sql($this->adapter); $select = $sql->select(); $select->columns(array('id', 'title', 'slug', 'content', 'created'))->from(array('p' => 'news'))->join(array('c' => 'category'), 'c.id = p.category_id', array('category_id' => 'id', 'name', 'category_slug' => 'slug'), $select::JOIN_INNER)->where(array('p.id' => $postId)); $statement = $sql->prepareStatementForSqlObject($select); $results = $statement->execute(); $hydrator = new AggregateHydrator(); $hydrator->add(new PostHydrator()); $hydrator->add(new CategoryHydrator()); $resultSet = new HydratingResultSet($hydrator, new Post()); $resultSet->initialize($results); return $resultSet->count() > 0 ? $resultSet->current() : null; }
public function getBlvdWithSocialUsername($select) { $statement = $this->sql->prepareStatementForSqlObject($select); //echo "<br><br>".$select->getSqlString($this->dbAdapter->getPlatform()); $results = $statement->execute(); if ($results->count() == 0) { return false; } //return $this->arrayResult($select); //echo "<br><br>".$select->getSqlString($this->dbAdapter->getPlatform()); $entityPrototype = new BlvdEntity(); $hydrator = new ClassMethods(); $resultset = new HydratingResultSet($hydrator, $entityPrototype); $resultset->initialize($results); $resultset->buffer(); $resultset->current(); return $resultset; }