这里的查询有点复杂。三个相关表:用户、帖子和评论。用户有_很多帖子和评论,帖子属于_用户和有_很多评论,评论属于_一个用户和一个帖子。也就是说,我正在 Rails 中尝试在我的控制器中查找用户在其所有帖子中收到的所有评论。我试过这个:
@comments = Comment.where(:post_id.user => @user.id)
但这并没有真正奏效。这可能是一个简单的解决方案,帮助?
这里的查询有点复杂。三个相关表:用户、帖子和评论。用户有_很多帖子和评论,帖子属于_用户和有_很多评论,评论属于_一个用户和一个帖子。也就是说,我正在 Rails 中尝试在我的控制器中查找用户在其所有帖子中收到的所有评论。我试过这个:
@comments = Comment.where(:post_id.user => @user.id)
但这并没有真正奏效。这可能是一个简单的解决方案,帮助?
您必须为此加入帖子表:
@comments = Comment.joins(:post).where(:posts => { :user_id => @user.id })
您还可以执行以下操作:
@user = User.find(@user.id, :include => :comments)
<% @user.comments.each do |comment| %>
<%= comment.id %> <br/>
<%= comment.text %>
<% end %>