On Sep 13, 5:51 pm, Jesse <[email protected]> wrote:
> On 9/13/11 12:39 PM, Frederick Cheung wrote:
> > When comparing with nil you have to use IS NULL rather than the usual
> > comparison operator. where(:read_at => nil) should work though. How
> > are you using the scope?
>
> I am making a call to it through
> current_user.received_messages.unread.length which trips a MYSQL Error
>
> |Mysql2::Error: You have an error in your SQL syntax; check the manual that
> corresponds to your MySQL server version for the right syntax to use near '==
> NULL)' at line 1: SELECT `message_copies`.* FROM `message_copies` WHERE
> (`message_copies`.recipient_id = 1) AND (read_at == NULL)|
>
is that using where("read_at == ?", nil ) ? That's just invalid
syntax, since the comparison operator operator is = in SQL. NULL is a
special case though - use IS NULL/IS NOT NULL to test for null values.
Fred
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.