*重写了整个问题,这样会更清楚..
这就是我的表的样子(没有无用的列)我用 pgadmin 生成了这个
SELECT
notifications.id
FROM
activities,
notifications,
comments
WHERE
activities.trackable_id = comments.id AND
notifications.activity_id = activities.id;
使用 pgadmin,这个查询给出了正确的结果。
我不知道如何使用包含(或者可能是连接)来拥有 3 个表作为上面的 sql。
我的尝试
@notifications = current_user.notifications.includes(:activity, :comments).where("activities.trackable_id = comments.id AND notifications.activity_id = activities.id")
没有成果