2011-07-22 66 views
1

我有一對數據類型,其中每個X可能有許多Y,並且每個Y至多有一個XActiveRecord和可能belongs_to

在數據庫中,我會顯現這是

CREATE TABLE xs (
    id INTEGER NOT NULL PRIMARY KEY 
); 
CREATE TABLE ys (
    id INTEGER NOT NULL PRIMARY KEY, 
    x_id INTEGER FOREIGN KEY REFERENCES xs (id) -- may be NULL 
); 

使用ActiveRecord,很容易對我來說,每一個Xhas_manyY,但我怎麼表達,每一個Y至多有一個X?我的印象belongs_to通常會正常工作,但我不知道x_idNULL時它會如何喜歡這種情況。

回答

2

你說得對。 Y應該有belongs_to :x。如果x_id不存在,y.x將返回nil

擁有belongs_to並不意味着如果該值不存在,一切都將炸燬。

+0

很酷謝謝。我讀過的所有內容都說「belongs_to」是用於一對一或多對一的關係,並沒有提到多對一或零。 :) – rampion

相關問題