我有freight_requests,旅行和預訂。命名範圍和協會
一個freight_request的has_many旅行(不是所有的車次屬於freight_request)
之旅的has_many預訂(所有預訂屬於跳閘)
我想寫一個作用域freight_requests是得到所有沒有預訂的freight_requests。這包括沒有行程的freight_request,以及確實有行程但沒有預訂行程的freight_request。
目前,我有
trip.rb
has_many :bookings
scope :not_booked, where("trips.id NOT IN (SELECT trip_id FROM bookings)")
booking.rb
belongs_to :trip
freight_request.rb
has_many :trips
scope :not_booked, joins(:trips) & Trip.not_booked
scope :no_trip, where("freight_requests.id NOT IN (SELECT freight_request_id FROM trips)")
問題是no_trip代碼沒有按沒有退貨freight_requests沒有旅行(它什麼都沒有返回)。
任何人有任何想法,我怎麼能做到這一點? Thx提前