如何获取状态等于nil且不等于privilage或casual的记录

时间:2016-04-29 12:57:47

标签: ruby-on-rails

我有一张leave表。在这里我有一个status列。这是一个字符串column.i想要从leave表中获取那些status列等于null且状态不等于privilagecasual的记录或sick。如何在rails 4中编写此查询?

leave.where(:status => nil).where.not(:status => "casual" or "privilage" or "sick").

2 个答案:

答案 0 :(得分:0)

试试这个:

leave.where(status: nil).where.not(status: %w[casual privilage sick])

答案 1 :(得分:0)

看起来你需要这样的东西(尝试大脑阅读能力 ;-)):

leave.where.not(status: ['casual', 'privilage', 'sick', nil ])

或可能是

leave.where.not(status: nil).where.not(status: %w(casual privilage sick))