Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Fehler in verschachtelter Unterabfrage in DQL:Klasse „(“ ist nicht definiert

Verwenden Sie createSubquery() Funktion zum Erstellen einer Unterabfrage in Doctrine. Anschließend können Sie die Unterabfrage in Ihre Hauptabfrage verschachteln.

Beispiel

// build root query
$query = Doctrine_Query::create()
  ->from('Movie m')
  ->where('name = ?', 'Prometheus')
;

// build subquery
$subquery = $query->createSubquery()
  ->from('SeenMovie sm')
  ->where('m.name = sm.name')
;

// nest subquery and execute
$query->where('EXISTS (' . $subquery->getDql() . ')')->execute();

Weiterführende Literatur
Ein kugelsicheres Muster zum Erstellen von Doktrinen-Unterabfragen beliebiger Komplexität