【发布时间】:2012-08-21 14:03:49
【问题描述】:
我试图弄清楚如何在不使用 find_by_sql 的情况下查询这种关系
class User < ActiveRecord::Base
has_many :lists
end
class List < ActiveRecord::Base
has_many :list_items
belongs_to :user
end
class ListItem < ActiveRecord::Base
belongs_to :list
belongs_to :item
end
class Item < ActiveRecord::Base
has_many :list_items
end
这应该是我们正在使用的,但我如何不通过 find_by_sql 来做到这一点 在user.rb中
def self.find_users_who_like_by_item_id item_id
find_by_sql(["select u.* from users u, lists l, list_items li where l.list_type_id=10 and li.item_id=? and l.user_id=u.id and li.list_id=l.id", item_id])
end
我尝试了几种不同的包含/连接/合并方案,但无法完成我想要做的事情。
谢谢
【问题讨论】:
标签: ruby-on-rails-3 activerecord ruby-on-rails-3.1