У меня есть класс постоянная в моем приложении Rails для отображения целых чисел из столбца в строки:Выбор строки на основе целочисленного столбца
TYPES = [[1, "Beginner"], [2, "Intermediate"], [3, "Advanced"]]
я могу использовать это для преобразования целых чисел в удобочитаемых строки для экземпляров (например, TYPES.to_h[type_id]
), но я также хотел бы использовать его для SELECT
удобочитаемой строки для большого количества записей за один раз. Я мог бы использовать CASE
заявление:
SELECT *, CASE WHEN type_id = 1 THEN 'Beginner'
WHEN type_id = 2 THEN 'Intermediate'
WHEN type_id = 3 THEN 'Advanced'
END AS type_string FROM users;
Однако, это становится очень многословным, трудно управлять, и отнимает много времени, как TYPES
массив становится даже немного больше. Есть ли лучший, более эффективный способ выбрать строку типа из type_id
?
Вы ищете что-то вроде перечислений. Что перечисляет для вас, так это сопоставляет список символов для ссылки, который будет храниться в базе данных как целое. Итак: корова может быть 0 и: собака может быть 1 в перечислении [: cow,: dog]. Ссылка ссылки http://6ftdan.com/allyourdev/2015/03/31/rails-4s-awesome-enums/ – praaveen
@muistooshort Мне действительно нужно ЗАКАЗАТЬ строк для просмотра admin, который является единственным случаем, в котором я нуждаюсь строки в запросе db. Должен ли я думать об этом по-другому? – eirikir