Я stuggling с этой строки кода:Rails: 2, когда запросы
Warehouse.where(:product => self.product).pluck(:mrr).sum.round(2)
Но дело в том, если продукт назван дважды приложение теперь не какой из них выбрать. Так что я пытался что-то вроде этого:
Warehouse.where(:product => self.product)
.where(:company => self.order.brand)
.pluck(:mrr).sum.round(2)
Но тогда я получаю эту ошибку:
PG::UndefinedColumn: ERROR: column warehouses.company does not exist LINE 1: ...warehouses" WHERE "warehouses"."product" = $1 AND "warehouse...^: SELECT "warehouses"."mrr" FROM "warehouses" WHERE "warehouses"."product" = $1 AND "warehouses"."company" = ‘Adidas’
запрос должен реально смотреть вверх PRODUCTNAME и соответствующий бренд, а затем спустить цену.
schema.rb
create_table "warehouses", force: :cascade do |t|
t.text "category"
t.text "product"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "brand"
t.text "period1"
t.text "period2"
t.string "producttype"
t.decimal "mrr"
t.decimal "suf"
t.decimal "discount"
end
Любые идеи?
Пожалуйста, попка схемы БД для таблиц, участвующих. И обратите внимание, что запрос ищет «column warehouses.company», я бы предположил, что у продукта есть столбец компании. –
У вас есть стол 'company' в таблице' складов'? – Pavan
Что значит «продукт называется дважды»? –