Gibt es eine Möglichkeit, abzufragen, ob array-Feld enthält einen bestimmten Wert in Doctrine2?

Beginnend mit Symfony2 + Lehre.

Ich habe eine Tabelle mit User-Objekten (fos_user), für die mein schema enthält eine Rollen Spalte eines 'array' geben.

Lehre speichert Felder dieses Typs zu serialisieren Sie von php 'array' zu 'langer Text' (in mysql der Fall).

Also sagen wir mal ich habe die folgenden Benutzer gespeichert in DB:

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

Jetzt in meinem controller ich auswählen möchten, die alle Benutzer mit ROLE_ADMIN gesetzt.
Gibt es eine Möglichkeit zu schreiben, eine DQL-query, die direkt zurück mich User1 und User2?
Oder benötige ich zum abrufen aller Benutzer zu haben, die Lehre zu unserialize Rollen-Spalte und dann für jeden von Ihnen tun in_array('ROLE_ADMIN', $user->getRoles())?

Suchte ich die DQL Teil der Bedienungsanleitung, aber bisher nicht zu finden, die etwas ähnliches für meine Bedürfnisse...

UPD: Gefunden Frage über die gleiche Sache, die enthält eine funktionierende Abfrage-code

  • Danke für den link 😀
InformationsquelleAutor dimsuz | 2012-10-29
Schreibe einen Kommentar