/**
  * @return array
  */
 public function fetchAll()
 {
     $qb = $this->db->createQueryBuilder();
     $qb->select('*')->from('album', 'a');
     $result = $qb->execute()->fetchAll();
     if (empty($result)) {
         return [];
     }
     $hydrator = new \Zend\Stdlib\Hydrator\ArraySerializable();
     $albums = [];
     foreach ($result as $album) {
         array_push($albums, $hydrator->hydrate($album, new Album()));
     }
     return $albums;
 }
Example #2
0
 /**
  * Get package assignments
  *
  * @param string $order Package assignment property to sort by, default: PackageName
  * @param string $direction asc|desc, default: asc
  * @return \Zend\Db\ResultSet\AbstractResultSet Result set producing \Model\Package\Assignment
  */
 public function getPackageAssignments($order = 'PackageName', $direction = 'asc')
 {
     $hydrator = new \Zend\Stdlib\Hydrator\ArraySerializable();
     $hydrator->setNamingStrategy(new \Database\Hydrator\NamingStrategy\MapNamingStrategy(array('name' => 'PackageName', 'tvalue' => 'Status', 'comments' => 'Timestamp')));
     $hydrator->addStrategy('Timestamp', new \Zend\Stdlib\Hydrator\Strategy\DateTimeFormatterStrategy(\Model\Package\Assignment::DATEFORMAT));
     $sql = $this->serviceLocator->get('Database\\Table\\ClientConfig')->getSql();
     $select = $sql->select();
     $select->columns(array('tvalue', 'comments'))->join('download_available', 'download_available.fileid = devices.ivalue', array('name'), \Zend\Db\Sql\Select::JOIN_INNER)->where(array('hardware_id' => $this['Id'], 'devices.name' => 'DOWNLOAD'))->order(array($hydrator->extractName($order) => $direction));
     $resultSet = new \Zend\Db\ResultSet\HydratingResultSet($hydrator, clone $this->serviceLocator->get('Model\\Package\\Assignment'));
     $resultSet->initialize($sql->prepareStatementForSqlObject($select)->execute());
     return $resultSet;
 }