Ruby on rails 申请条件与否有很多关系
使用rails 4.1.8从Postgre数据库检索某些数据时遇到问题 让我们考虑两个关系密切的模型Ruby on rails 申请条件与否有很多关系,ruby-on-rails,postgresql,activerecord,Ruby On Rails,Postgresql,Activerecord,使用rails 4.1.8从Postgre数据库检索某些数据时遇到问题 让我们考虑两个关系密切的模型 class Post < ActiveRecord::Base has_many :comments end 提前感谢您的帮助:)您可以尝试使用连接和组以及拥有语句,但是您得到的关系将非常脆弱(您将无法像您希望的那样轻松地查询它-删除将彻底破坏它) 解决此问题的方法是将其拆分为两个db调用: def self.all_comments_approved non_approved_
class Post < ActiveRecord::Base
has_many :comments
end
提前感谢您的帮助:)您可以尝试使用
连接和组以及拥有语句,但是您得到的关系将非常脆弱(您将无法像您希望的那样轻松地查询它-删除将彻底破坏它)
解决此问题的方法是将其拆分为两个db调用:
def self.all_comments_approved
non_approved_ids = joins(:comments).where.not(comments: {state: 'approved'}).uniq.pluck(:id)
where.not(id: non_approved_ids)
end
def sef.all_comments_approved
joins(:comments).where("ALL(comments.state = 'approved')").references(:comments)
end
def self.all_comments_approved
non_approved_ids = joins(:comments).where.not(comments: {state: 'approved'}).uniq.pluck(:id)
where.not(id: non_approved_ids)
end