2015-10-08 31 views
0

我的Rails應用程序ConfirmRequest.rb和Booking.rb中有兩個模型。 這些模型相互關聯與此CONFIGRATION:根據關聯表中的數據進行有效的記錄查詢

class ConfirmRequest < ActiveRecord::Base  
    has_one :booking 
end 


class Booking < ActiveRecord::Base 
    belongs_to :confirm_request 
end 

所以,我想定義2個變量首先它包含了其預訂已經創建和其他尚未創建其預定的confirm_requests我怎樣才能在rails中定義這些變量?

回答

1

嘗試使用以下查詢:

ConfirmRequest.where(id: Booking.pluck(:confirm_request_id)) 
ConfirmRequest.where.not(id: Booking.pluck(:confirm_request_id)) 
0

像類變量一樣變量嗎?一個範圍可以給你那個數據,你可以創建一個使用該範圍的類變量(雖然不是必需的,但範圍足夠IMO)。如果您想在ConfirmRequest中定義一個範圍來返回已經爲其創建了預訂的記錄?在這種情況下

scope :has_booking, where("booking_id IS NOT NULL) 

訂票未創建

scope :has_no_booking, where(:booking_id => nil) 
相關問題