【发布时间】:2014-01-29 17:50:53
【问题描述】:
我有一个名为 User 的模型,它具有如下自联接关联:
has_many :children, class_name: "User",
foreign_key: "parent_id"
belongs_to :parent, class_name: "User"
它还与 Post 模型有关联:
User has_many post
每个 Post 对象都有一个 score 属性,我正在尝试为给定用户及其孩子找到得分最高、得分大于 0 且满足特定属性的帖子。所以现在,我的 Post 模型中有这个方法:
def self.top_related_scored_by_user_id(user_id, max)
where(:user_id => user_id).
where(:related_image => true).
where('score > 0').
order(score: :desc).
first(max)
end
但是,我希望不仅可以查找具有 user_id 的用户,还可以查找他们的孩子。我该怎么做?
谢谢
【问题讨论】:
标签: sql ruby-on-rails model