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