0

以下は正常に機能します。

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

2番目の方が安全であり、クエリはそれ自体で正常に機能しているように見えますが、値が返されたかどうかを測定しようとするとすぐにエラーが発生します。

Mysql2 :: Error:SQL構文にエラーがあります。1行目の'=>37 AND days_events_id => '20')'の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。SELECTCOUNT(*)FROM days_events_users WHERE(user_id => 37 AND days_events_id => '20')

4

1 に答える 1

1
already_joined=DaysEventsUser.where("user_id= ? AND days_events_id= ?",user,days_event)
于 2012-05-11T15:28:40.923 に答える