因此,我有一个具有两个模型的应用程序。 Foo has_one酒吧,酒吧属于Foo。

现在,要创建一个Foo,您必须必须创建一个Bar才能属于它,但是看起来有些漏缝了,因为在我的生产应用程序中,我现在似乎已经有了一个Foo,而该Foo是以某种方式创建的,没有Bar,并且它导致500错误。

现在,这是问题所在:

我可以搜索:Bar.where(:foo=>nil)很好。但是,孤儿酒吧不成问题,这并不能告诉我我需要什么。

我需要找到一个Bar为零的Foo。但是数据库将关系存储在Bars表中,即BarsTable中包含foo_id,FoosTable中没有任何内容可以告诉我它缺少条形图。

当我使用Foo.find(#).bar时,一个伪造的记录将为nil,但是我有很多记录。

因此,有人可以告诉我如何构造一个查询,该查询将返回缺少Bar的一个Foo吗?

谢谢!!

最佳答案

我不确定Ruby代码是什么,但是我认为SQL应该是这样的:

SELECT * FROM FOO WHERE ID NOT IN(选择foo_id FROM栏)

10-08 08:56
查看更多