2015-01-06 8 views
14

in codice:Query per i record in cui una colonna non è pari a zero in Rails 4

<% @hotelUser=HotelUser.find(cookies[:user_id2]) %>

<%= debug @orderLast=Order.where(:email=>@hotelUser.email,"order.hotel_user_id IS NOT NULL").last%>

sto ottenendo errore di sintassi dopo l'esecuzione di questo code.I vuole cercare hotel_user_id dove hotel_user_id != nil or empty?. Per favore dimmi la sintassi giusta.

risposta

27
Order.where(email: @hotelUser.email).where.not(hotel_user_id: nil) 
0

Si può anche fare questo

Order.where(email: @hotelUser.email).where("hotel_user_id <> ?", nil) 
+2

'dove ("hotel_user_id <>?", Nil)' non genererà lo SQL corretta. '<> NULL' e' IS NOT NULL' sono cose diverse. – eugen

Problemi correlati