2011-09-07 42 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

我相信我明白了,感谢您的帮助。不胜感激! –