Comment récupérer une classe au lieu d'un tableau dans Doctrine 2
Je suis en mesure de récupérer mes données à partir de la base de données à l'aide de cette structure:
$user = $this->getDoctrine()
->getRepository('AcmeDemoBundle:Emails')
->find(8081);
Quand je fais cela, je suis en mesure de récupérer mes données comme ceci:
$user->getColumnNameHere();
Fondamentalement, je suis en mesure d'utiliser Entité Classe.
Mais si je veux utiliser un QueryBuilder au lieu de find
je suis seulement obtenir des tableaux associatifs.
$product->createQueryBuilder('p')
->setMaxResults(1)
->where('p.idx = :idx')
->select('p.columnNameHere')
->setParameter('idx', 8081)
->orderBy('p.idx', 'DESC')
->getQuery();
$product = $query->getResult();
$produit returnds en tant que tableau. Est-il possible de récupérer withj Entité Managaer Classe? Si oui, comment?
Je digg la documentation, mais il ne semble pas possible ou n'existent pas dans la doc ou je suis juste aveugle 🙂
source d'informationauteur flower58
Vous devez vous connecter pour publier un commentaire.
Oui, vous pouvez, généralement à l'aide d':
Cela devrait vous retourner un tableau d'entités.
Si vous souhaitez obtenir une seule entité résultat, utilisez
getSingleResult
ougetOneOrNullResult
:Avertissement: cette méthode peut potentiellement jeter
NonUniqueResultException
.Edit: Ok, donc la question était de savoir partielle des objets: http://docs.doctrine-project.org/en/latest/reference/partial-objects.html
vous pouvez obtenir un objet au lieu d'un tableau à l'aide de "Partielle des Objets".
ici est testé exemple avec DoctrineORM 2.2.2:
Si vous souhaitez retourner un objet de votre requête initiale:
Supprimer cette ligne
Dès que vous utilisez select, il retournera un tableau...
getResult()
méthode renvoie une collection (un tableau) des entités. UtilisationgetSingleResult()
si vous allez chercher un seul objet.EDIT:
Oh, j'ai juste remarqué que vous souhaitez récupérer un champ unique d'un objet unique. Utilisation
getSingleScalarResult()
@Florian suggère.