class AdminUser < ActiveRecord::Base
has_many :users
end
class User < ActiveRecord::Base
has_many :posts
end
class Post < ActiveRecord::Base
has_many :comments
end
我想在这个ADMINUSER下的每个用户创建的每一个岗位的所有评论列表。
为了让每个用户完成1条评论,所有评论都很简单。我会用类似
comments=Comment.joins(:post).where("posts.user_id= ?",userid.to_s)
但是在这里,我需要去更高一层。即获得每个用户在1个admin_user下发表的每条帖子的评论。我以前从未使用过多个连接,所以我有点困惑。
如果我可以用ActiveRecord的关联字符串内它可能看起来像
comments=Comment.joins(:post).joins(:user).where("posts.user.admin_user.id=?",adminuser_id)
但我不能用posts.user.admin_user
我认为,评论属于帖子和帖子属于用户。这就是为什么。 – Santanu
阅读问题。 –
是的,这是我正在寻找的连接。我的最终查询是Comment.joins(post: :user).where(“user.admin_user_id =?,admin_id) –