以下工作正常:
def self.already_joined?(days_event,user)
already_joined=DaysEventsUser.where(:user_id=>user, :days_events_id=>days_event)
if !already_joined.empty?
return true
end
end
但以下情况并非如此:
def self.already_joined?(days_event,user)
already_joined=DaysEventsUser.where("user_id=>? AND days_events_id=>?",user,days_event)
if !already_joined.empty?
return true
end
end
我的理解是第二个更安全,查询似乎可以正常工作但是一旦我尝试测量它是否返回值我得到错误:
Mysql2 ::错误:您的SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行使用“=> 37和days_events_id => '20')'附近使用正确的语法:SELECT COUNT(*)FROM days_events_users
WHERE(user_id => 37 AND days_events_id => '20')
答案 0 :(得分:1)
already_joined=DaysEventsUser.where("user_id= ? AND days_events_id= ?",user,days_event)