Sql Rails多条件查询

Sql Rails多条件查询,sql,ruby-on-rails,activerecord,join,Sql,Ruby On Rails,Activerecord,Join,我有一个属于订单的LineItem类。订单有许多行项目。订单有两个属性:服务类别和状态。我需要得到所有具有以下条件的订单。目前我正在使用以下2个查询,但我真的只想使用1个查询,这可能吗 LineItem.includes(:order).where( menu_item_id:menu_item_id, orders:{ service_category: "delivery", state:["pending", "open"] } ) Lin

我有一个属于订单的LineItem类。订单有许多行项目。订单有两个属性:服务类别和状态。我需要得到所有具有以下条件的订单。目前我正在使用以下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"]
    }
  ) 

我不确定确切的语法,因为我没有设置模型,但是您是否应该能够包含由OR(| |)分隔的两个状态?你试过这样的东西吗

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