Rails + ActiveRecord - 如何在列不为真的情况下获取单词?

时间:2013-07-20 13:41:44

标签: ruby-on-rails ruby postgresql activerecord boolean

我在Heroku上运行这个应用程序,在那里使用PostgreSQL,我正在尝试这样的事情:

Model.where('column.something = ? AND listings.status IS NOT ?', 'something', true)

Model.where('column.something = ? AND listings.status != ?', 'something','t')

但是没有一个版本不起作用。 我正在尝试获取所有记录,状态列中的值 true (列类型为布尔值)。

由于

2 个答案:

答案 0 :(得分:1)

我认为

Model.where('column.something = ? AND listings.status != ?', 'something', true)

Model.where('column.something = ? AND listings.status <> ?', 'something', true)

但仅当列somethingstatus都是同一个表时。如果没有,则必须添加.joins(:listings)

答案 1 :(得分:0)

这有帮助吗?

Model.where.not(column: 'something')

http://edgeguides.rubyonrails.org/active_record_querying.html#not-conditions