/** * @covers Zend\Db\ResultSet\HydratingResultSet::toArray * @todo Implement testToArray(). */ public function testToArray() { $hydratingRs = new HydratingResultSet(); $hydratingRs->initialize(array(array('id' => 1, 'name' => 'one'))); $obj = $hydratingRs->toArray(); $this->assertInternalType('array', $obj); }
public function getPagesList() { $stmt = $this->_dbAdapter->createStatement(); $stmt->prepare('CALL `pages/get_slist`()'); $result = $stmt->execute(); $resultSet = new HydratingResultSet(new Reflection(), new Page()); $resultSet->initialize($result); return $resultSet; }
/** * @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); }
public function fetchAll() { $select = $this->sql->select(); $stmt = $this->sql->prepareStatementForSqlObject($select); $results = $stmt->execute(); $entity = new ImpostoEntity(); $classMethods = new ClassMethods(); $resultset = new HydratingResultSet($classMethods, $entity); $resultset->initialize($results); return $resultset; }
/** * @return JsonModel */ public function contohGetList() { $sm = $this->getServiceLocator(); $table = $sm->get('Organisasi\\DbTable\\StrukturOrganisasi'); // defined in module.php $result = $table->select()->toArray(); $resultSet = new HydratingResultSet(new ReflectionHydrator(), new StrukturOrganisasi()); $resultSet->initialize($result); $a = array('data' => $result); return new JsonModel($a); }
/** * @return Route[] */ public function findActive() { $sql = new Sql($this->dbAdapter); $select = $sql->select($this->table)->where('active = 1'); $result = $sql->prepareStatementForSqlObject($select)->execute(); if ($result->isQueryResult() && $result->getAffectedRows()) { $resultSet = new HydratingResultSet($this->hydrator, $this->model); return $resultSet->initialize($result); } return []; }
/** * {@inheritdoc} */ public function findAll() { $sql = new Sql($this->dbAdapter); $select = $sql->select('posts'); $stmt = $sql->prepareStatementForSqlObject($select); $result = $stmt->execute(); if ($result instanceof ResultInterface && $result->isQueryResult()) { $resultSet = new HydratingResultSet(new ClassMethods(), new Post()); return $resultSet->initialize($result); } return []; }
/** * {@inheritDoc} */ public function findAll() { $sql = new Sql($this->dbAdapter); $select = $sql->select('posts'); $stmt = $sql->prepareStatementForSqlObject($select); $result = $stmt->execute(); if ($result instanceof ResultInterface && $result->isQueryResult()) { $resultSet = new HydratingResultSet($this->hydrator, $this->postPrototype); return $resultSet->initialize($result); } return array(); }
public function getUsersList() { $sql = new Sql($this->getAdaptor()); $select = $sql->select('user'); $statement = $sql->prepareStatementForSqlObject($select); $result = $statement->execute(); if ($result instanceof ResultInterface && $result->isQueryResult()) { $resultSet = new HydratingResultSet($this->getHydrator(), $this->getProtoType()); return $resultSet->initialize($result); } return array(); }
public function fetchAll() { $select = $this->sql->select(); $select->order(array('user ASC', 'name ASC')); $statement = $this->sql->prepareStatementForSqlObject($select); $results = $statement->execute(); $entityPrototype = new BuildingEntity(); $hydrator = new ClassMethods(); $resultset = new HydratingResultSet($hydrator, $entityPrototype); $resultset->initialize($results); return $resultset; }
public function fetchAll($limit = 3) { $select = $this->sql->select(); $select->order("date DESC"); $select->limit($limit); $statement = $this->sql->prepareStatementForSqlObject($select); $results = $statement->execute(); $entityPrototype = new TumblrEntity(); $hydrator = new ClassMethods(); $resultset = new HydratingResultSet($hydrator, $entityPrototype); $resultset->initialize($results); return $resultset; }
/** * Fetches rooms. * @return Zend\Db\ResultSet\HydratingResultSet collection of Room obj's */ public function fetch() { $adapter = $this->getServiceLocator()->get('Zend\\Db\\Adapter\\Adapter'); $sql = new Sql($adapter); $select = $sql->select('room')->offset($this->offset)->limit($this->limit); $statement = $sql->prepareStatementForSqlObject($select); $res = $statement->execute(); $resultSet = new HydratingResultSet(new hydrator(), new Room()); if ($res instanceof ResultInterface && $res->isQueryResult()) { $resultSet->initialize($res); } return $resultSet; }
public function fetchAll($blvdId) { $select = $this->sql->select(); $select->where(array("blvd_id" => $blvdId)); $statement = $this->sql->prepareStatementForSqlObject($select); $results = $statement->execute(); $entityPrototype = new BlvdCategoryEntity(); $hydrator = new ClassMethods(); $resultset = new HydratingResultSet($hydrator, $entityPrototype); $resultset->initialize($results); $resultset->buffer(); return $resultset; }
public function getAttributes($id) { $select = $this->sql->select(); $select->join('lead_attributes', 'lead_attribute_values.attribute_id = lead_attributes.id', array('attribute_name')); $select->where(array('entity_id' => $id)); $select->order(array("id ASC")); $entityPrototype = new AttributeEntity(); $hydrator = new ClassMethods(); $resultset = new HydratingResultSet($hydrator, $entityPrototype); $statement = $this->sql->prepareStatementForSqlObject($select); $results = $statement->execute(); $resultset->initialize($results); return $resultset; }
/** * @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 getPostList($page, $limit) { $sql = new Sql($this->getAdaptor()); $select = $sql->select(array('p' => 'posts')); $select->join(array('u' => 'user'), 'p.author_id=u.user_id', array('author' => 'display_name')); $select->limit(intval($limit)); $select->offset(intval($limit) * (intval($page) - 1)); $statement = $sql->prepareStatementForSqlObject($select); $result = $statement->execute(); if ($result instanceof ResultInterface && $result->isQueryResult()) { $resultSet = new HydratingResultSet($this->getHydrator(), $this->getProtoType()); return $resultSet->initialize($result); } return array(); }
/** * @return array|PostInterface[] */ public function findAll() { $sql = new Sql($this->dbAdapter); $select = $sql->select('posts'); $stmt = $sql->prepareStatementForSqlObject($select); $result = $stmt->execute(); if ($result instanceof ResultInterface && $result->isQueryResult()) { //$resultSet = new ResultSet(); //$resultSet = new HydratingResultSet(new \Zend\Stdlib\Hydrator\ClassMethods(), new \Blog\Model\Post()); $resultSet = new HydratingResultSet($this->hydrator, $this->postPrototype); // \Zend\Debug\Debug::dump($resultSet->initialize($result));die(); return $resultSet->initialize($result); } return array(); }
/** * Fetches equipments of the room. * @see init() * @return \Zend\Db\ResultSet\HydratingResultSet of Equipment objects */ public function fetch() { if (!$this->is_init()) { throw new \Exception("Equipments collection uninitiated."); } $adapter = $this->getServiceLocator()->get('Zend\\Db\\Adapter\\Adapter'); $sql = new Sql($adapter); $select = $sql->select('equipment')->where(array('cid' => $this->room->id))->offset($this->offset)->limit($this->limit); $statement = $sql->prepareStatementForSqlObject($select); $res = $statement->execute(); $hydratedRes = new HydratingResultSet(new Hydrator(), new Equipment()); if ($res instanceof ResultInterface && $res->isQueryResult()) { $hydratedRes->initialize($res); } return $hydratedRes; }
public function fetchAll($paging = false, $sort = "timecreated", $order = "DESC", $filters = array()) { $select = $this->sql->select(); $select->order(array("{$sort} {$order}")); $where = array(); if ($filters) { foreach ($filters as $filter => $condition) { if (strlen($condition)) { switch ($filter) { case 'timecreated': case 'daterange': list($from, $to) = array_map(function ($d, $i) { $t = $i == 'from' ? '00:00:00' : '23:59:59'; return date('Y-m-d ' . $t, strtotime($d)); }, explode("-", $condition), ['from', 'to']); $where[] = "lead.timecreated between '{$from}' and '{$to}'"; break; case 'status': $where[] = "lead.submitted = {$condition}"; break; case 'sites': $where[] = "lead.formid = {$condition}"; break; default: break; } } } if ($where) { $select->where($where); } } $entityPrototype = new LeadEntity(); $hydrator = new ClassMethods(); if ($paging) { // create a new result set based on the Lead entity $resultSet = new HydratingResultSet($hydrator, $entityPrototype); $paginatorAdapter = new DbSelect($select, $this->dbAdapter, $resultSet); $paginator = new Paginator($paginatorAdapter); return $paginator; } $resultset = new HydratingResultSet($hydrator, $entityPrototype); $statement = $this->sql->prepareStatementForSqlObject($select); $results = $statement->execute(); $resultset->initialize($results); return $resultset; }
/** * Returns all prefixes * @param int $hydrationMode * @param int $total количество всех записей * @return array|\Zend\Db\Adapter\Driver\ResultInterface|\Zend\Db\ResultSet\ResultSet */ public function getPrefixes($hydrationMode = self::HYDRATE_OBJECT, &$total = 0) { $query = $this->serviceEntity->getAllPrefix(); $totalQuery = clone $query; $totalQuery->columns(array('total' => new Expression('COUNT(' . $this->serviceEntity->getTableName() . '.id)'))); $totalResult = $this->executeQuery($totalQuery); $total = (int) $totalResult->current()['total']; if ($total > 0) { $query = $this->processPagination($query); $result = $this->executeQuery($query); if ($hydrationMode == self::HYDRATE_OBJECT and $result->isQueryResult()) { $modelClassName = $this->serviceEntity->getEntityClassName(); $resultSet = new HydratingResultSet(new ArraySerializable(), new $modelClassName()); $result = $resultSet->initialize($result); } return $result; } return array(); }
public function getFacebookByUsername($username, $limit = 3) { $select = $this->sql->select(); $select->where(array('username' => $username)); $select->order(array('created_time DESC')); if ($limit != 'all') { $select->limit($limit); } $statement = $this->sql->prepareStatementForSqlObject($select); $results = $statement->execute(); if ($results->count() == 0) { return false; } //echo "<br><br>".$select->getSqlString($this->dbAdapter->getPlatform()); $entityPrototype = new FacebookEntity(); $hydrator = new ClassMethods(); $resultset = new HydratingResultSet($hydrator, $entityPrototype); $resultset->initialize($results); return $resultset; }
public function getLinks() { $select = $this->sql->select(); $select->order(array('sort_order ASC')); //echo "<br><br>".$select->getSqlString($this->dbAdapter->getPlatform()); $statement = $this->sql->prepareStatementForSqlObject($select); $results = $statement->execute(); /* $rows = new ResultSet(); $arr = $rows->initialize($results)->toArray(); printR($arr); return $arr; */ $entityPrototype = new LinkEntity(); $hydrator = new ClassMethods(); $resultset = new HydratingResultSet($hydrator, $entityPrototype); $resultset->initialize($results); $resultset->buffer(); return $resultset; }
public function fetchAll($topOnly = 1, $bottomOnly = 0, $disabledOnly = 0, $idNameOnly = false) { $select = $this->sql->select(); if ($topOnly) { $select->where(array('top' => 1, 'disabled' => 0)); $select->order(array('sort_order_top ASC')); } elseif ($bottomOnly) { $select->where(array('bottom' => 1, 'disabled' => 0)); $select->order(array('sort_order_bottom ASC')); } elseif ($disabledOnly) { $select->where(array('disabled' => 1)); } $statement = $this->sql->prepareStatementForSqlObject($select); $results = $statement->execute(); $entityPrototype = new BlvdCategoryEntity(); $hydrator = new ClassMethods(); $resultset = new HydratingResultSet($hydrator, $entityPrototype); $resultset->initialize($results); $resultset->buffer(); return $resultset; }
/** * Metodo abstrato simples para retornar todos os registros da entidade * @param array $columns * @param array $where * @param array $order * @return \Zend\Db\ResultSet\HydratingResultSet */ public function findAll(array $columns = null, array $where = null, array $order = null) { $sqlObject = new Sql($this->dbAdapter); $sqlObject->setTable($this->tableName); $select = $sqlObject->select(); if (!is_null($columns)) { $select->columns($columns); } if (!is_null($where)) { $select->where($where); } if (!is_null($order)) { $select->order($order); } $statement = $sqlObject->prepareStatementForSqlObject($select); $results = $statement->execute(); $entityPrototype = new $this->entityClass(); $hydrator = new ClassMethods(); $resultset = new HydratingResultSet($hydrator, $entityPrototype); $resultset->initialize($results); return $resultset; }
public function fetchThumbArr($offset, $limit) { $select = $this->sql->select(); //$select->where(array('media_url IS NOT NULL')); $select->where(array('unpublish' => 0)); $select->order('id DESC'); $select->offset($offset); $select->limit($limit); $str = $select->getSqlString($this->dbAdapter->getPlatform()); $statement = $this->sql->prepareStatementForSqlObject($select); $result = $statement->execute(); if ($result->count() == 0) { return false; } $hydrator = new ClassMethods(); $resultSet = new HydratingResultSet($hydrator, new VideosEntity()); $resultSet->initialize($result); $resultSet->buffer(); $thumbArr = array(); $showNextPageLink = 0; $key = 0; foreach ($resultSet as $key => $obj) { $thumbArr[$key]['thumb'] = $obj->getThumbnail(); $thumbArr[$key]['id'] = $obj->getId(); $thumbArr[$key]['title'] = $obj->getTitle(); $thumbArr[$key]['video_id'] = $obj->getVideoId(); $dateYMon = date("Y-M", strtotime($obj->getDateCreated())); $thumbArr[$key]['dateYMon'] = $dateYMon; } if ($limit == $resultSet->count()) { $showNextPageLink = 1; } $key++; $thumbArr[$key]['nav']['showNextPageLink'] = $showNextPageLink; $thumbArr[$key]['nav']['page'] = $offset / $limit; $thumbArr[$key]['nav']['limit'] = $limit; return $thumbArr; }
public function fetchTwitterUser($screenName) { $whereArr = array('screen_name' => $screenName); $select = $this->sql->select(); $select->where($whereArr); $statement = $this->sql->prepareStatementForSqlObject($select); $result = $statement->execute()->current(); //echo "<br><br>\n".$select->getSqlString($this->dbAdapter->getPlatform())."\n"; if (!$result) { return false; } $hydrator = new ClassMethods(); $twitterUser = new TwitterUserEntity(); $hydrator->hydrate($result, $twitterUser); return $twitterUser; // this triggers an exception 'getArrayCopy() needed' // Zend\Stdlib\Hydrator\ArraySerializable::extract expects the provided object to implement getArrayCopy() $entityPrototype = new TwitterUserEntity(); $hydrator = new ClassMethods(); $resultset = new HydratingResultSet($hydrator, $entityPrototype); $resultset->initialize($results); $resultset->buffer(); return $resultset; }
/** * Fetch results. * * @param Select $select * @param object|null $prototype * @param HydratorInterface|null $hydrator * @return HydratingResultSet * @codeCoverageIgnore */ protected function select(Select $select, $prototype = null, HydratorInterface $hydrator = null) { if ($prototype === null) { $prototype = $this->getPrototype(); } if ($hydrator === null) { $hydrator = $this->getHydrator(); } $statement = $this->initialize()->getSlaveSql()->prepareStatementForSqlObject($select); $resultSet = new HydratingResultSet($hydrator, $prototype); return $resultSet->initialize($statement->execute()); }
/** * Returns a collection of hydrated objects or false on error * @param Sql $sql * @param Select $select * @param HydratorInterface $hydrator * @param object $prototype * @return boolean|ResultSet */ protected function fetchResultSet(Sql $sql, Select $select, HydratorInterface $hydrator = null, $prototype = null) { if (!$hydrator) { $hydrator = $this->hydrator; } if (!$prototype) { $prototype = $this->objectPrototype; } $result = $this->fetch($sql, $select); if ($result) { $resultSet = new HydratingResultSet($hydrator, $prototype); return $resultSet->initialize($result); } return false; }
/** * Return a Hydrating Resultset object * @see http://www.php.net/manual/en/class.mongocollection.php * * @param array $query * @param array $fields * @param null $entityPrototype * @param null $hydrator * @param bool $findAll * @return bool|HydratingResultSet */ public function find($query = array(), $fields = array(), $entityPrototype = null, $hydrator = null, $findAll = true, $order = array()) { $this->initialise(); $collection = $this->getCollectionPrototype(); if ($findAll) { $cursor = $collection->find($query, $fields); if (is_null($cursor)) { return false; } $resultSet = new HydratingResultSet($hydrator ?: $this->getHydrator(), $entityPrototype ?: clone $this->getEntityPrototype()); $resultSet->initialize($cursor); } else { $cursor = $collection->findOne($query, $fields); if (is_null($cursor)) { return false; } $resultSet = $this->getHydrator()->hydrate($cursor, $entityPrototype ?: clone $this->getEntityPrototype()); } if (!empty($order)) { $cursor->sort($order); } // Save the cursor to the object for raw output $this->setLastCursor($cursor); return $resultSet; }
/** * @param Select $select * @param object | null $entityPrototype * @param HydratorInterface | null $hydrator * @return HydratingResultSet */ protected function select(Select $select, $entityPrototype = null, HydratorInterface $hydrator = null) { $statement = $this->getSlaveSql()->prepareStatementForSqlObject($select); $resultSet = new HydratingResultSet($hydrator ?: $this->hydrator, $entityPrototype ?: $this->getEntityPrototype()); $resultSet->initialize($statement->execute()); return $resultSet; }