2011-09-07 85 views
2

我的產品表像SKU,名稱等屬性依賴於兩列DataMapper的同夥

好像我需要爲每類產品單獨的表,由於大量的各種功能取決於類別。

說我有靴子,工具和帽子

表/類

我想(除非有一個更好的方法)的加入/我的產品表,在適當情況下(取決於類)其他表關聯?

Products Table 

id | Name | SKU | Category(Table) | CategoryTableForeignKey 
---------------------------------------------------------------------- 
1 | boot1 | 123 | Boots   | 2 
2 | knife1 | 345 | Tools   | 42 

-

Boots Table 

id | product_id | Size | Width | Color | Sex 
---------------------------------------------------------------------- 
2 | 1   | 9.5 | Wide | Olive | Male 

-

Tools Table 

id | product_id | length | Fixed | Coating | Etc 
---------------------------------------------------------------------- 
42 | 2   | 4.5 | False | ...  | ... 

我不知道如何與DataMapper的類做到這一點。

理想情況下,我想能夠:

my_boot = Boots.get(1) 

my_boot.product.sku 

編輯: dkubb在我的代碼中指出的一個缺陷。

回答

1

當您使用has()您所說的是外鍵在其他模型。如果您希望外鍵位於與您想要使用的當前型號相關的表格中,請使用belongs_to

+0

好了,好點。但是,我如何才能將Boots表加入產品表中的某些記錄?似乎我不得不在產品表中有很多

_id列。 –

+0

我相信我明白了,感謝您的幫助。不勝感激! –