ActiveRecord querying有一节关于在预先加载的关联中指定条件。具体而言,第13.2节。
根据它,我可以做到以下几点:
Article.includes(:comments).where(comments: { visible: true })
如果我想做这样的事情怎么办......
Article.where(param: "this").includes(user: [:comments]).where(comments: { text: "wow" })
当然,上述方法不起作用,我希望能够通过一些查询来实现这一目标。
按照目前的情况,在我的查询之后我做了articles[3].user.comments.select { |comment| comment.text == "wow" }
无论如何要实现上述目标?
答案 0 :(得分:0)
首先,您不需要急切加载来从一篇文章中选择评论(据我所知您正在尝试这样做)。
对于给定的文章
@article = Article.first
您可以使用表格加入
查询文字'哇'的所有评论@comments = @article.comments.where(text: 'wow')