我正在使用 Ruby on Rails 2.3.8,我想获取所有尚未添加到 listed_products
数组的 @products
。
例如,假设我有以下代码:
listed_products = ['1', '2', '3', '4', '5']
#Then, I would like to do something like SELECT * FROM products where id not in
#(listed_products), and save the result in @products
我知道上面的 SQL 语法行不通,但我只是想告诉你们我想要实现的目标。
有没有“rails way”可以做到这一点?
提前致谢!
最佳答案
是的,您可以执行以下操作(Rails 2.3.x):
listed_products = [1,2,3,4,5] Product.find(:all, :conditions => ["id NOT IN (?)", listed_products])
或者在 Rails 3.0.x 中是这样的:
listed_products = [1,2,3,4,5] Product.where("id NOT IN (?)", listed_products)
关于ruby-on-rails - 在以下情况下如何模拟 NOT IN SQL 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4936472/