所以我仍然想要掌握Ruby& Rails和Postgres,我需要运行一个查询,但不能完全理解如何返回所需的结果
我有以下
订单
订单有很多 #ITEMS //以及 TOTAL_PRICE 变量
#ITEMS 中的是 ORDERABLE_ID 变量,该变量引用 #PRODUCT
我也有
用户 用户有很多 #ORDERS
我尝试运行将执行以下操作的查询
检查IF当前USER是否具有包含ORDERABLE_ID == 71且ORDER TOTAL_PRICE>的ITEM的ORDER; 40
OrderItem belongs_to :order
OrderItem belongs_to :orderable
Order has many :items, class_name "OrderItem"
答案 0 :(得分:1)
假设:
@product
id = 71
@total_price
,其值为40
current_user
OrderItem
belongs_to:order OrderItem
belongs_to:orderable,polymorphic:true Order
belongs_to:user 然后我相信它会是这样的:
Order.
joins(:items).
where(items: {id: OrderItem.where(orderable: @product)}).
where('total_price > ?', @total_price).
where(user: current_user).
any?