我真的很喜欢能够:
Product.where(:id => [40,41,42])
它生成了一个很好的where id in (40,41,42)
然而,我只能想出如何做相反的事情:
Product.where("id not in (?)", [40,41,42])
有更干净的方法吗?
谢谢。
不,你就是这么做的。没有比这更短的方法了,至少用香草ARel。不过,你可能会在meta_where中找到一些可以做到这一点的东西。
您可以这样做:
Product.all.delete_if{|x| [41,42,43].include? x.id }
===>包含所有产品的数组,不包括具有给定id的产品。