Est-il un moyen de la requête si le tableau champ contient une certaine valeur dans Doctrine2?

De commencer avec Symfony2 + Doctrine.

J'ai une table avec les objets Utilisateur (fos_user), pour qui mon schéma contient un rôles colonne d'une 'array' type.

Doctrine enregistre des champs de ce type par la sérialisation de php 'array' à 'longtext" (en mysql cas).

Donc, disons que j'ai les utilisateurs suivants enregistré en DB:

User1: array(ROLE_ADMIN, ROLE_CUSTOM1)
User2: array(ROLE_ADMIN, ROLE_CUSTOM2)
User3: array(ROLE_CUSTOM2)

Maintenant dans mon contrôleur, je veux sélectionner tous les utilisateurs avec ROLE_ADMIN ensemble.
Est-il possible d'écrire une requête DQL qui serait directement me rendre User1 et User2?
Ou dois-je besoin de récupérer tous les utilisateurs à la Doctrine de unserialize colonne rôles et puis, pour chacun d'entre eux ne in_array('ROLE_ADMIN', $utilisateur->getRoles())?

J'ai cherché sur le DQL partie du manuel, mais jusqu'à présent, n'a pas trouvé quelque chose de semblable à mes besoins...

UPD: Trouvé un question à propos de la même chose qui contient une requête code

  • Merci pour le lien 😀
InformationsquelleAutor dimsuz | 2012-10-29