【发布时间】:2012-09-20 15:42:39
【问题描述】:
我正在尝试减少我的应用程序中的查询数量,并且在以下设置方面需要一些帮助:
我有 5 个模型:
- 下注
- 选择
- 现货价格
- Spotarea
- 产品
它们与以下内容相关联:
- Bet belongs_to Choice
- Choice belongs_to Spotarea
- 选择属于_产品
- Choice has_many Bets
- Spotprice 属于_to Spotarea
- Spotprice 属于_to 产品
- Spotarea has_many Spotprices
- Spotarea has_many Choices
- 产品有_many Sprotprices
- 产品有_很多选择
我的目标是找到与特定投注匹配的 Spotprices。为此,我使用以下查询,但我确信它可以以更好的方式完成,所以当我运行 100 个赌注并想查看它们是高于还是低于对应的 Spotprice 时,我不会超载数据库有查询。
a = Bet.find(5)
b = Choice.find(a.choice_id)
c = Spotprice.where(:spotarea_id => b.spotarea_id, :product_id => b.product_id,
:deliverydate => b.deliverydate).first
谢谢!
【问题讨论】:
标签: ruby-on-rails activerecord associations