symfony 1.4 Doctrine 1.2.3でEXISTSサブクエリーを使う場合の記述

$query->addWhere('EXISTS (SELECT m1.id FROM Member m1 WHERE m1.id = a.member_id AND m1.gender = 1)');

注意点

  • 「Member」はテーブル名ではなく、クラス名である必要がある。
  • 「EXISTS (SELECT 1 FROM ~」のように、ダミーの定数を記述するのが定石っぽい雰囲気があるので、その通り記述したくなるが、NG。上記の場合、「m1.1」のように、テーブル名修飾されてしまう。

facebook slideshare rubygems github qiita