Mysql
 sql >> Base de données >  >> RDS >> Mysql

Erreur dans la sous-requête imbriquée dans DQL :la classe '(' n'est pas définie

Utilisez le createSubquery() fonction pour créer une sous-requête dans Doctrine. Vous pouvez ensuite imbriquer la sous-requête dans votre requête principale.

Exemple

// 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();

Autres lectures
Un modèle à l'épreuve des balles pour créer des sous-requêtes de doctrine de toute complexité