2013-08-03 97 views
0

如果我想要的一切都在星期日的商店名单,我做如何查询所有没有特定关联的记录?

Shop.includes(:opening_times).where("opening_times.day =?", 'Sunday') 

有没有什么办法让一切都在周日关闭的商店名单?也就是说,所有与日栏为“星期天”的记录没有关联的商店?

回答

2
sun_open = Shop.includes(:opening_times).where("opening times.day = ?", "Sunday").ids; 
sunday_closed = Shop.where("id NOT IN (?)", sunday_open); 
+0

哦哇,我不知道你可以很容易地从数据库查询的ID列表。这在很多情况下都会派上用场! – lala

+0

使用.ids方法时,我得到错误“列引用”ID“不明确”,因为它是一个包含表,它不知道是否需要Shop ID或OpeningTimes ID。使用'.map(&:id)'而不是'.ids'来修复它。 – lala

相关问题