Я пытаюсь вычислить значения из существующего столбца таблицы и использовать его во внешней переменной.Rails Active Record, чтобы сделать арифметические вычисления над оператором select
Позвольте моим столбцам таблицы быть такими: ["id","unit_price","quantity","extras_1","extras_2"]
Я представляю, что я хочу делать в рельсах, используя команду sql в качестве ссылки.
SQL Command:
SELECT unit_price*quantity AS "regular_price",
unit_price*quantity-unit_price*quantity*discount AS "price_after_discount"
FROM order_details;
В Rails Active Record Query я пробовал такое же, как:
OrderDetail.select('unit_price*quantity AS regular_price,unit_price*quantity-unit_price*quantity*discount AS price_after_discount')
Из приведенной выше query.i судимой сортировки, основываясь на полученном attributes.it работал perfectly.But я не может видеть значения полученных атрибутов путем запроса.
Выход я получил без производных атрибутов, как:
[#<OrderDetail >,#<OrderDetail >]
Но мне нужно вывод, как:
[#<OrderDetail regular_price: 43, price_after_discount: 54>,#<OrderDetail regular_price: 54, price_after_discount: 76>]
Я попытался ниже запрос, чтобы отсортировать data.It отлично отсортирован данные:
OrderDetail.select('unit_price,quantity,unit_price*quantity AS regular_price,unit_price*quantity-unit_price*quantity*discount AS price_after_discount').order('regular_price desc')
я могу получить доступ к данным с помощью следующей команды:
OrderDetail.select('unit_price,quantity,unit_price*quantity AS extras_1,unit_price*quantity-unit_price*quantity*discount AS extras_2')
над commmand работал потому, что extras_1
и extras_2
- столбец таблицы.
Но он работает, если назначен существующему столбцу таблицы. Мне нужно, чтобы производный атрибут был несуществующим именем столбца таблицы.
Как получить доступ к значениям производных атрибутов из записи. Я могу получить к ним доступ, назначив их существующей таблице столбцов. Но я хочу, чтобы имя атрибута дано как я хочу, независимо от столбцов таблицы.