我正在尝试减少应用程序中的查询数量,并且需要以下设置方面的帮助:
我有 5 个模型:
- 赌注
- 选择
- 现货价格
- 斑点区域
- 产品
它们与以下内容相关:
- 投注属于_to 选择
- 选择belongs_to Spotarea
- 选择belongs_to产品
- 选择 has_many 投注
- Spotprice 属于_to Spotarea
- Spotprice 属于_to 产品
- Spotarea has_many Spotprices
- Spotarea has_many 选择
- 产品有_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
谢谢!