2013-09-19 3 views
0

Мне нужно написать этот SQL-запрос на рубинSQL-запрос к запросу ActiveRecord. Рубин

SELECT value FROM CompanySetting WHERE company_id = 1 AND title = 'Work days' 

и рядом получить это значение для проверки, как это значение

= ... SQL-запрос ... и затем, если значение. nil? ..

Можете ли вы помочь мне написать метод, который сделает это, пожалуйста?

ответ

1

Если у вас есть модель CompanySetting, вы можете использовать следующие для получения записи с вашими условиями:

CompanySetting.where(company_id: 1, title: "Work days").pluck(:value) 

Если вы просто хотите, первое использование записи:

CompanySetting.where(company_id: 1, title: "Work days").pluck(:value).first 

Если вы хотите для проверки, если значение равно нулю, вы можете использовать value.nil?

Предлагаю вам прочитать some documentation

+0

Об остальной части вопроса. Готов поспорить, было значение 'value = ... SQL-запрос ...', а затем 'if value.nil? ...' –

+0

, который возвратил мне всю строку из таблицы. Но нужно получить только одно значение из столбца. –

+0

Используйте метод 'pluck' в сочетании с' first' (см. Обновленный ответ) –

0

вал = CompanySetting.where (company_id: 1, название: "Рабочие дни"). Срывать (: значение) .Первый

"Do Something", если val.nil?

Смежные вопросы