public function getDescriptions($number = 0) { $dql = <<<DQL \t\tSELECT \t\t\ta \t\tFROM \t\t\t\\Account\\Entity\\Account a \t\tWHERE \t\t\ta.active = 1 \t\tORDER BY a.description ASC DQL; $query = $this->getEntityManager()->createQuery($dql); if ($number) { $query->setMaxResults($number); } $query->useQueryCache(true); $query->useResultCache(true, 3600, self::CACHE_PREFIX . md5($dql)); $results = $query->getResult(); $no_account = new \Account\Entity\Account(); $no_account->setDescription('Unassigned'); $no_account->setId('none'); $accounts = ['none' => $no_account]; foreach ($results as $result) { $accounts[$result->getDescription()] = $result; } return $accounts; }