【问题标题】:Rails multiple condition queryRails 多条件查询
【发布时间】:2014-08-21 18:08:25
【问题描述】:

我有一个属于订单的 LineItem 类。一个订单有很多行项目。一个订单有两个属性,service_category 和 state。我需要获得所有具有以下条件的订单。目前我正在使用以下 2 个查询,但我真的只想使用 1 个查询,这可能吗?

LineItem.includes(:order).where(
   menu_item_id:menu_item_id,
   orders:{
     service_category: "delivery",
     state:["pending", "open"]
    }
  )  

LineItem.includes(:order).where(
   menu_item_id:menu_item_id,
   orders:{
     service_category: "walkup",
     state:["pending", "closed"]
    }
  ) 

【问题讨论】:

    标签: sql ruby-on-rails activerecord join


    【解决方案1】:

    我不确定确切的语法,因为我没有设置模型,但你不应该包括用 OR (||) 分隔的两个状态吗?你试过这样的事情吗?

    LineItem.includes(:order).where(
       menu_item_id:menu_item_id,
       orders:{
         (service_category: "delivery",
         state:["pending", "open"])
         ||
         (service_category: "walkup",
         state:["pending", "closed"])
        }
      )
    

    【讨论】:

      猜你喜欢
      • 2013-07-30
      • 2017-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-23
      相关资源
      最近更新 更多