【发布时间】:2015-12-09 07:28:29
【问题描述】:
我目前在我的一个控制器中使用了以下 Active Record .select 查询:
@bids = current_user.bids.select { |bid| !bid.bid_has_failed_date }
以及我的Bid 模型中的bid_has_failed_date 方法:
def bid_has_failed_date
self.real_property_sale.try(:real_property_sale_project).try(:failed_date).present?
end
我更喜欢使用.where 和.joins 来做同样的事情。到目前为止,我得到了这个:
.where(agent_id: agent_id).joins(real_property_sale: :real_property_sale_project).where(real_property_sale_projects: { failed_date: nil })
这样做的问题是它只会返回一个具有real_property_sale_project 和一个failed_date 为零的出价。相反,我需要它返回所有出价,不包括存在failed_date 的出价。
【问题讨论】:
标签: ruby-on-rails ruby activerecord