0

Maintenance HABTM MaintenanceOrdersActiveRecord的检索属于相关记录阵列中HABTM关系记录

鉴于MaintenanceOrder ID的数组:[1,2,3,4,5],我怎么能检索所有这些MaintenanceOrders相关的Maintenances

尝试这样:

@paired_things = Maintenance.where(maintenance_order_id: [1,2,3,4,5]) 

但它正确地失败,因为maintenance_order_id是不是在维护列,当然这是没有意义的,因为它是一个HABTM关系......

这是从架构连接表:

create_table "maintenance_orders_maintenances", id: false, force: true do |t| 
    t.integer "maintenance_order_id" 
    t.integer "maintenance_id" 
end 

回答

0

使用includes,例如:

Maintenance.includes(:maintenance_orders).where(maintenance_orders: {id: [1,2,3,4,5]})