Doktrine 2 - So verwenden Sie die Spalte Diskriminator in der WHERE-Klausel
-
13-11-2019 - |
Frage
Ich wurde in der Spalte von Diskriminator verwendet, in der sich der Klausel wie folgt: generasacodicetagpre.
Ich habe einen Fehler: "Nachricht: [Semantische Fehler] Zeile 0, col 73 in der Nähe von 'Format=' Image '' ': Error: Klasse Entitäten \ File \ AbstractFile hat kein Feld oder Assoziation mit dem Namen des Formats" .
Wie kann ich Diskriminatorspalte in when-Klausel verwenden?
danke.
Lösung
Ich denke, Sie sollten Instanz von
Andere Tipps
Es würde in Query Builder so schauen: generasacodicetagpre.
note : dass Sie die Klasse nicht als Parameter einstellen können, da er entkommen wird.
für PHP 5.50 und höher: generasacodicetagpre.
Wie diese neueste Lehre-Version wird unterstützt, um den Diskriminatorwert direkt abzufragen. generasacodicetagpre.
hat eine Ergebnisabfrage mit dieser Klausel: generasacodicetagpre.
Diese Lehre-Erweiterung war für mich sehr nützlich, weil ich auf die übergeordnete Klasse zugreifen müsste, und der INSTANCE OF
funktioniert in diesem Fall nicht.
https://gist.github.com/jasonhofer/8420677
Zum Beispiel: Ich habe folgende Klassenstruktur:
class1 erbt von baseclass (diskriminator= c1)
class2 erbt von class1 (diskriminator= c2)
class3 erbt von class1 (diskriminator= c3)
Ich möchte alle Entitäten von class1 aber nicht von class2 oder class3 auswählen generasacodicetagpre.