提问人:Suganya Selvarajan 提问时间:7/23/2023 更新时间:7/23/2023 访问量:43
Rails - 对特定记录下的所有记录进行排序和获取
Rails - Sort and fetch all records below a particular record
问:
我有一个名为 SampleGroup 的表,它将有一个列 year。年份可以具有如下值 year_1、year_2 等
SampleGroup 表还具有根据年份列对记录进行排序的位置。该表将始终如下所示。
| year | position |
| -------- | -------------- |
| year_1 |0 |
| year_2 |1 |
| year_3 |2 |
| year_4 |3 |
我想获取给定年份以下的所有记录,例如:
如果给定year_3,则查询应获取year_3以下的所有记录,并应返回year_3。实现这一目标的最佳方法是什么?
答:
1赞
Tom Lord
7/23/2023
#1
我将通过两个查询来实现这一点。首先获取匹配的记录,然后获取位于其下方的所有记录:
year = 'year_3'
sample_group = SampleGroup.find_by(year: year)
SampleGroup.where('position <= ?', sample_group.position)
评论
SampleGroup.where('year > ?', 'year_3')
position
year_10