我在控制器中有以下代码来选择随机照片:
@photo1 = @contest.photos.limit(1).order("RANDOM()")
我希望选择另一张随机照片作为@ photo2,但其得分属性必须是@ photo1得分的+/- 400。我该怎么做?
可选:我宁愿@ photo2在@ photo1分数的+/- 200范围内,如果没有,则搜索+/- 400
答案 0 :(得分:3)
您可以将where
与范围一起使用以生成BETWEEN语句。
Photo.where(score: ((@photo1.score-200)..(@photo1.score+200)))
.order("RANDOM()").take