SQLでは、このタイプのクエリにはEXCEPTION JOIN
と呼ばれるものが必要です。 。一部のRDBMSは、実際にはこれを別個のタイプ(DB2など)として実装しますが、他のRDBMSは回避策を使用する必要があります。あなたの場合、それは(SQLでは)次のようになります:
SELECT User.*
FROM User
LEFT JOIN UserHouse
ON UserHouse.id_user = User.id
WHERE UserHouse.id_user IS NULL
どの
このサイトの多くの場所に同様の例があります。
私はDoctrineを使ったことがないので、そこであなたを助けることはできません。しかし、私の最善の推測は次のようなものです:
addWhere('uh IS NULL')
または
addWhere('uh.id_user IS NULL')