ActiveRecord多个联接上的查询

时间:2019-05-18 11:18:51

标签: ruby-on-rails-4 rails-activerecord

我有一个与帖子关联的用户表, 与评论相关的帖子, 与点赞相关的评论(状态:1、2、3、4)。如何根据喜欢计数对用户进行排序,其中状态为2或3或4。

下面我尝试过: 点赞模型中的命名范围以获取1,2,3,4

Post.joins(comments: :likes).merge(Like.status_count)

但是无法基于计数进行排序。任何帮助

1 个答案:

答案 0 :(得分:0)

要订购活动记录对象,可以使用order方法,例如

假设一个用户数据库,我想根据名称进行排序,那么我们可以做到

User.order(:name)  //Returns Users on ascending order of name
User.order(name :desc) //Returs Users in descending order of name

您可以尝试的军事化

Post.joins(comments: :likes).merge(Like.active.order(:status_count))

order方法的文档可以在this链接中找到