0
Может кто-нибудь помочь мне, почему следующий SQL-оператор не будет сохранен в переменной @var
? После этого оператора переменная должна иметь значение «ДА» или «НЕТ».find_by_sql и select case
SQL
SELECT CASE WHEN MAX(user_id) IS NULL THEN 'NO' ELSE 'YES' END User_exists
FROM user_id_table
WHERE user_id = 'some_user';
Я нашел это заявление here.
Рубин на Rails
@var = Test.find_by_sql("SELECT CASE WHEN MAX(user_id) IS NULL THEN 'NO' ELSE 'YES' END user_exists
FROM user_id_table
WHERE user_id = 'some_user'")
Попробуйте использовать 'ActiveRecord :: Base.connection.execute' вместо' find_by_sql' – Bohdan
Не знаю почему, но это всегда возвращает true ...? – shub