假设@news_writers 是一个记录数组。然后,我想使用 @news_writers 查找 @news_writers 中包含的所有新闻作者撰写的所有新闻项目。
所以我想要这样的东西(但这在语法上是不正确的):
@news = News.find_all_by_role_id(@news_writers.id)
请注意
class Role < ActiveRecord::Base
has_many :news
end
and
class News < ActiveRecord::Base
belongs_to :role
end
最佳答案
像 ennen 一样,我不确定你的模型应该有什么关系。但一般来说,您可以从给定集合中找到具有列值的所有模型,如下所示:
News.all(:conditions => {:role_id => @news_writers.map(&:id)})
这将创建一个 SQL 查询,其条件如下:
WHERE role_id IN (1, 10, 13, ...)
其中整数是@news_writers 的 ID。
关于sql - 帮助 Rails find_by 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/741456/