Pues estoy usando Doctrine 2.0 como ORM para php, aunque creo que el problema se puede aplicar a cualquier ORM.
El caso es que estoy haciendo un foro, y quiero identificar que hilos tienen mensajes nuevos y cuales no.
Antes usaba SQL a pelo, y lo solucionaba con una tabla donde guardo los IDs del usuario y del hilo. Si existe la fila del usuario y el hilo, quiere decir que lo ha leído, si no está, no lo ha leído, así que con un joinLeft lo solucionaba, tal que así.
SELECT nick, titulotopic, IF (leidos.usuario, 0, 1) as leido FROM usuarios, topics LEFTJOIN leidos on topics.id = leidos.topic AND usuarios.id = leidos.usuario
Sin embargo, en el ORM no sé como hacerlo...