我想得到这样的东西:
Post.all.select{|p| p.comments.last.type == 'SpecialComment'}
即。我需要选择帖子'哪里'最后评论有特殊类型。我如何使用活动记录查询语法来完成它?
答案 0 :(得分:0)
试试这个:
Post.joins(:comments).where("comments.last.type = ?", 'SpecialComment'")
答案 1 :(得分:-2)
class Comment < ActiveRecord::Base
belongs_to :post, inverse_of: :comments
end
class SpecialComment < Comment
end
class Post < ActiveRecord::Base
has_many :comments, inverse_of: :comment, dependent: :destroy
has_many :special_comments
end
Post.joins(:special_comments)