我有一张产品表,其中包含SKU,Name等属性
由于各种功能取决于类别,我似乎需要为每个类别的产品设置单独的表格。
说我有靴子,工具和帽子的桌子/类
我希望(除非有更好的方法)将我的产品表加入/关联到适当的其他表(取决于类别)?
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在我的代码中指出了一个漏洞。
答案 0 :(得分:1)
当您使用has()
时,您所说的是外键位于其他模型中。如果您希望外键位于与您要使用的当前模型关联的表中belongs_to
。
答案 1 :(得分:1)
class Product
include DataMapper::Resource
#descripe product properties ...
has n, :boots
end
Class Boot
include DataMapper::Resource
#describe boot properties ...
belongs_to :product
end
关于DataMapper关联:http://datamapper.org/docs/associations.html