public function precacheProperties(User $user) { $q = $this->getEntityManager()->createQuery('SELECT up.propertyValue, p.name FROM GotChosenSiteBundle:UserProfile up JOIN up.property p WHERE up.user = ?1'); $q->setParameter(1, $user->getId()); $results = $q->getResult(); $properties = []; foreach ($results as $result) { $properties[$result['name']] = $result['propertyValue']; } $user->setCachedProperties($properties); }