我有以下SQL,在Rails中使用活动记录对象/方法似乎无法表达。
SELECT users.*, count(followings.user_id) as expr1 FROM users
inner join followings on id = follows where id in (2,3,4)
group by followings.follows order by expr1 desc;
显然,[2,3,4]被替换为任何Ids数组。
该查询不执行任何问题,并给出我想要的结果。但是我在如何以“ ActiveRecord”方式表达方面遇到很大困难。
如何按数字关注者订购我的用户模型?
最佳答案
您可以尝试使用以下查询:
User.select("users.*, count(followings.user_id)").joins(:followings)
.where("users.in (?)", [2,3,4]).group_by("followings.follows")
如果您遇到其他错误,请告诉我。