繁体   English   中英

Rails Postgres查询的结构

[英]Structure for a Rails Postgres Query

因此,我仍在尝试与Ruby&Rails和Postgres接触,我需要运行查询,但无法完全理解如何返回所需的结果

我有以下

命令

订单中有许多#ITEMS //以及TOTAL_PRICE变量

#ITEMS中的ORDERABLE_ID变量引用了#PRODUCT

我也有

用户的使用者有很多#ORDERS

我正在尝试运行将执行以下操作的查询

检查当前用户是否具有包含ORDERABLE_ID == 71,且ORDER TOTAL_PRICE> 40的ITEM的ORDER

OrderItem belongs_to :order 
OrderItem belongs_to :orderable 
Order has many :items, class_name "OrderItem"

假设:

  • 一个id = 71 @product变量
  • 变量@total_price的值为40
  • 名为current_user的变量/函数
  • OrderItem归属于:order
  • OrderItem居:可排序,多态:true
  • Order归属于:user

然后,我相信它将是这样的:

Order.
  joins(:items).
  where(items: {id: OrderItem.where(orderable: @product)}).
  where('total_price > ?', @total_price).
  where(user: current_user).
  any?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM