Rails – 如何找到某个列值为nil的所有行where()

我想返回一个数组,其中包含一个名为bookings的表中的所有行,其中bookings空。

到目前为止,我已经尝试过Booking.where("returned_date ''") ,它选择了存在returned_date的所有记录,但我希望对此进行反向选择。

如果你想使用returned_date列为null

 Booking.where(returned_date: nil) 

您可以使用以下查询

 Booking.where("returned_date IS NULL") 

要么

您可以在Booking模型中添加范围

 Class Booking < ActiveRecord::Base scope :nil_returned_date, -> { where("returned_date IS NULL") } end 

然后将其称为Booking.nil_returned_date