Ich versuche, Werte aus vorhandenen Tabellenspalte zu berechnen und auf eine externe Variable zu verwenden.Rails Active Record zur arithmetischen Berechnung über eine Select-Anweisung
Lassen Sie meine Tabellenspalten wie sein: ["id","unit_price","quantity","extras_1","extras_2"]
Ich präsentiere, was ich in Schienen mit SQL-Befehl als Referenz tun möchten.
SQL-Befehl:
SELECT unit_price*quantity AS "regular_price",
unit_price*quantity-unit_price*quantity*discount AS "price_after_discount"
FROM order_details;
In Rails Active Record-Abfrage Ich habe versucht, gleich wie:
OrderDetail.select('unit_price*quantity AS regular_price,unit_price*quantity-unit_price*quantity*discount AS price_after_discount')
Aus der obigen query.i versucht basierend auf abgeleiteten attributes.it perfectly.But arbeitete Sortierung i Die abgeleiteten Attributwerte können nicht durch Abfragen angezeigt werden.
Der Ausgang ich habe ist, ohne dass die abgeleiteten Attribute wie:
[#<OrderDetail >,#<OrderDetail >]
Aber ich brauche Ausgabe als:
[#<OrderDetail regular_price: 43, price_after_discount: 54>,#<OrderDetail regular_price: 54, price_after_discount: 76>]
ich unter Abfrage versucht, die data.It zu sortieren die Daten sortiert perfekt:
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')
kann ich die Werte zugreifen unter Befehl:
über Command arbeitete, weil extras_1
und extras_2
Tabellenspalten sind.
Aber es funktioniert, wenn vorhandene Tabelle Spalte zugewiesen.Ich brauche abgeleitetes Attribut, um nicht vorhandene Tabelle Spaltenname sein.
Wie kann ich auf abgeleitete Attribute Werte aus einem Datensatz zugreifen.Ich kann auf sie zugreifen, indem Sie sie zu einer vorhandenen Tabelle Spalte.Aber ich möchte den Namen der Attribute gegeben, wie ich will unabhängig von Tabellenspalten.