Die Verwendung von Unterabfragen mit Lehre / Fehler mit aliases

Ich versuche eine einfache Abfrage mit einer Unterabfrage in einer orWhere-Klausel (mit Lehre).

Wie immer, in der Lehre versucht, benennen Sie alle Aliase und völlig zerstört, die Abfragen...

Hier ein Beispiel:

$q = Doctrine_Query::create()
    ->from('Actualite a')
    ->where('a.categorie_id =?', $id)
    ->orWhere('a.categorie_id IN (select id from cat.categorie as cat where cat.categorie_id =?)', $id)
    ->execute();

Das in MySQL machen würde, so etwas wie:

SELECT * 
FROM actualite a 
WHERE a.categorie_id = 1 OR a.categorie_id IN (SELECT cat.id FROM categorie cat WHERE cat.categorie_id = 1);

Alles richtig an, aber dann wieder Lehre zerstört es:
Konnte nicht finden, Klasse Katze

Jedes mal, wenn ich versuche, etwas zu tun ein wenig Komplex mit der Lehre, ich habe Fehler mit Aliase. Irgendwelche Tipps oder Ideen, wie man dieses Problem beheben?

Dank!

  • Was ist, wenn auf vollständigen Tabellennamen ?
InformationsquelleAutor Tommy B. | 2010-12-01
Schreibe einen Kommentar