如何在ActiveRecord/SQL中查找与1+值匹配的属性的记录?

问题描述:

如何在ActiveRecord/SQL中查找匹配具有1+值的属性的记录?举例如下:如何在ActiveRecord/SQL中查找与1+值匹配的属性的记录?

Post.find_by_type("Post and/or ChildPost") 
Post.find(:type => "Post and/or ChildPost") 

我该怎么做?价值的数量将不会超过10我会说。

Post.find :all, :conditions => ['type IN (?)', ['Post', 'ChildPost']] 

或者:

values = ['Post', 'ChildPost'] 
Post.find :all, :conditions => ['type IN (?)', values] 

这应该生成以下SQL:

SELECT * FROM `posts` WHERE `type` IN ('Post', 'ChildPost'); 
+0

真棒,谢谢!如何在只是原始的SQL? – 2010-09-11 21:46:59

+0

没问题:)我编辑与预期的RAW SQL的答案。 – aularon 2010-09-11 21:52:29