次のコードがあります。
$sub_questions_no_restricted = Doctrine_Query::create()
->select("q2.id")
->from("question q2")
->leftJoin("q2.CountryRestrictions cr2")
->groupBy("q2.id")
->having("count(cr2.country_iso)=0");
国の制限がないすべての質問IDを取得したい
しかし、symfony は、having 句の一部を無視して、正しい SQL を生成しません。
生成される DQL と SQL は次のとおりです。
DQL=SELECT q2.id FROM question q2 LEFT JOIN q2.CountryRestrictions cr2 GROUP BY q2.id HAVING count(cr2.country_iso)=0
SQL=SELECT q.id AS q__id FROM question q LEFT JOIN country_restriction c ON q.id = c.question_id GROUP BY q.id HAVING count(c.country_iso)=)
SQL は「0」を無視し、「)」を追加します。
私は何を間違っていますか?それは教義の問題ですか?助言がありますか?