ActiveRecord rails 4不等于条件

时间:2015-04-22 13:57:06

标签: ruby-on-rails ruby-on-rails-4 activerecord

我正在使用rails 4来开发我的应用程序。我的活动记录查询中存在问题,不等于条件。我没有得到所需的输出。我认为存在一个不等于部分的问题。

@available_rooms = Room.joins("LEFT OUTER JOIN reservations ON reservations.room_id = rooms.id").where("category_id = ? AND arrival_date != ?",params[:category],params[:arrival_date])

2 个答案:

答案 0 :(得分:1)

您可以在Rails 4中使用where.not()

 @available_rooms = Room.joins("LEFT OUTER JOIN reservations ON reservations.room_id = rooms.id")
                        .where(category_id: params[:category])
                        .where.not(arrival_date: params[:arrival_date])

答案 1 :(得分:0)

在某些版本的SQL中,不等于写为!=

尝试使用比较器<>,如下所示:

 @available_rooms = Room.joins("LEFT OUTER JOIN reservations ON reservations.room_id = rooms.id")
.where("category_id = ? AND arrival_date <> ?",params[:category],params[:arrival_date])