我有以下模型对象:
#<Insight id: 155, endorse_id: 15, supporter_id: 15, created_at: "2011-09-22 02:27:50", updated_at: "2011-09-22 02:27:50">
Endorse有很多见解,支持者有很多见解。
我可以通过以下方式查询数据库:
Endorse.find(15).insights.count
Insight.find_all_by_supporter_id(15).Count之间的
如何优雅地将这两个查询链接在一起,我可以搜索由Endorse 15和支持者15创建的所有数据洞察?
答案 0 :(得分:2)
Rails2:
insight_count = Insight.count(:conditions => {:supporter_id => 15, endorse_id => 15})
insights = Insight.all(:conditions => {:supporter_id => 15, endorse_id => 15})
Rails3:
insight_count = Insight.where(:supporter_id => 15, endorse_id => 15).count
insights = Insight.where(:supporter_id => 15, endorse_id => 15).all
答案 1 :(得分:1)
试试这个
对于Rails 3.0.x,可能还有3.1
Endorse.find(15).insights.find_all_by_supporter_id(15).count
对于Rails 2.3.x
Endorse.find(15).insights.find_all_by_supporter_id(15).length
答案 2 :(得分:0)
我不确定你是否想将它们链接在一起,因为每个都是不同的查询。如果它们之间存在关系,那么对我来说就有意义了。例如,如果Endorse包含包含支持者的见解。