Rails 3.2查询格式Postgres



好的,目前我的模型中有以下内容:

has_many :current_monitorings, :class_name => "Monitoring",
:conditions => proc { [ 'monitorings.created_at > ?', Time.now.midnight ] }

我想添加一个条件来检查outlet is_active属性是否设置为false。我试着这样做:

has_many :current_monitorings, :class_name => "Monitoring",
:conditions => proc { [ 'monitorings.created_at > ? AND outlet.is_active = ?', Time.now.midnight, 'false' ] }

然而,这不起作用。我可能很愚蠢,但我们非常感谢您的帮助!

在您的sql中,outlet.is_active应该是outlets.is_active。假设is_active是一个布尔字段,只需传递false而不传递"false":

试试这个:

has_many :monitorings
def current_monitorings
  monitorings.joins(:outlets).where(
    'monitorings.created_at > ? AND outlets.is_active = ?',
    Time.now.midnight,
    false
  )
end

最新更新