在我的rails应用程序中,我有Organizations
和属于Organization
的相关帖子。Organization
模型具有类型属性,即枚举
例如:政府,:教育,:体育等。
enum sp_type: { gov: 0, edu: 1, sports: 2 }
我可以用
Organization.edu
我可以通过
Organization.edu.includes(:posts)
我想获取属于sp_type
edu
组织的所有帖子,我应该执行什么查询来获取按其updated_at
排序的所有帖子的列表。 最佳答案
type
用于STI,因此不建议将其用作列名。
查询(获取组织):
Organization.where(sp_type: Organization.sp_types[:edu]))
.includes(:posts)
.where.not(posts: { id: nil })
.order('posts.updated_at')
获取帖子的查询:
Post.joins(:organization)
.where(organizations: { sp_type: Organization.sp_types[:edu]})
.group('posts.id')
.order('posts.updated_at')
关于sql - Rails:获取属于具有特定枚举属性的类别的相关记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42857099/