排序数据
问题描述:
协会就像排序数据
class User < ActiveRecord::Base
has_many :products
has_many :ratings
我想根据用户等级的产品进行排序。 假设我想对所有那些评级大于4的产品进行排序。 我找不到任何方法来做到这一点。
我做这样的事情
User.joins(:ratings).where("ratings.rate > ?", 4).includes(:ratings)
,从我得到它的收视率大于4,但随着产品如何加入和排序他们所有的用户?
答
User.joins(:ratings).where("ratings.rate > ?", 4).order('ratings DESC')
我不知道什么includes(:ratings)
做在最后。 应该只使用这样的事情,它可能应该工作:
User.includes(:ratings).where("ratings.rate > ?", 4).order('ratings DESC')
答
User.joins(:ratings).where("ratings.rate > ?", 4).order('ratings.rate')
如果你想找到相关的产品,那么这应该工作:
Product.joins(user: :ratings).where("ratings.rate > ?", 4).order('ratings.rate')
嘿乌斯曼,你应该接受一个作为一个解决方案,让其他人知道,你发现你的解决方案。 – Abhinay