在我的Rails应用程序中,我有两个模型:简报和公司。简报有n,:公司,:通过=>资源和公司有n,:简报,:through =>资源。
我正试图找到所有没有任何公司与之关联的简报。由于代码不正确,这可能类似于:
Briefing.all( :companies => nil )
或
Briefing.all( :companies.eql => [] )
但当然那些不起作用。有什么想法吗?
答案 0 :(得分:1)
我相信Dan pushed a change可以运行这样的查询。因此,如果你有一个User.has n,:posts并运行如下查询:
User.all(:posts => nil)
然后生成的SQL将如下所示:
SELECT "id" FROM "users" WHERE NOT("id" IN (SELECT "user_id" FROM "posts")) ORDER BY "id"
这将在DataMapper 1.1.1中提供
答案 1 :(得分:0)
原来答案就是这个问题:Get the inverse of a join?效果很好。