I SQL kræver denne type forespørgsel, hvad der er kendt som en EXCEPTION JOIN
. Nogle RDBMS'er implementerer faktisk dette som en separat type (såsom DB2), mens andre skal bruge en løsning. I dit tilfælde svarer det til (i SQL):
SELECT User.*
FROM User
LEFT JOIN UserHouse
ON UserHouse.id_user = User.id
WHERE UserHouse.id_user IS NULL
Hvilket vil give de forventede 'ikke i et hus' optegnelser.
Der er lignende eksempler en række steder på denne side.
Jeg har aldrig brugt Doktrin, så jeg kan ikke hjælpe dig der. Men mit bedste gæt ville være noget som:
addWhere('uh IS NULL')
eller
addWhere('uh.id_user IS NULL')