我有3个模型Passenger, Taxi, Order
我想获得这些表的某一列。我用它来成功加入它们。
Taxi.joins(:orders => :passenger).where(:taxi =>{:taxi_id =>2 } )
我想选择一些乘客表的列和一些订单列, 但我不知道我该怎么做?
另一个问题是,此查询的结果只是出租车的列,而不是taxi+order+passenger
的列
我认为我的查询存在问题
答案 0 :(得分:1)
Taxi
.joins(orders: :passenger)
.where(taxi: {taxi_id: 2 })
.pluck('passengers.column_name, orders.column_name')
答案 1 :(得分:0)
Taxi.joins(orders: :passenger).where(taxi:{taxi_id: 2}).includes(orders: :passenger).map do |taxi|
#this will not query again as the includes directive above already fetched
taxi.orders.map {|p| puts p}
end