Dan*_*iel 26 activerecord ruby-on-rails
在活动记录中进行搜索时,我正在寻找没有将归档位设置为true的记录.
某些归档位为空(未归档),其他归档设置为false.
明显,
Project.all(:conditions => {:archived => false})
Run Code Online (Sandbox Code Playgroud)
使用带有空值的存档位错过项目.如何通过活动记录选择所有非归档项目?
TJC*_*ers 87
Rails 4(可能更早)支持:
Project.where(archived: [false, nil])
Run Code Online (Sandbox Code Playgroud)
......这很简洁.
Ron*_*era 17
试试这个(在Rails 2中):
Project.all(:conditions => ['archived IS NULL OR archived = ?', false])
Run Code Online (Sandbox Code Playgroud)
这是旧版Rails的限制,如下所述:https://rails.lighthouseapp.com/projects/8994/tickets/1181-ar-find-producing-null-when-it-should-be-is-空值
与数据库无关的正确方法是:
Project.where("archived IS NULL OR archived = ?", false)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21660 次 |
| 最近记录: |