这是我的模型:
class Item
include DataMapper::Resource
property :id, Serial
has 1, :firstitem
has 1, :seconditem
end
class FirstItem
include DataMapper::Resource
property :id, Serial
belongs_to :item
end
class SecondItem
include DataMapper::Resource
property :id, Serial
belongs_to :item
end
现在,我的问题是 - 如果我想要FirstItem
并且SecondItem
成为不同的模型,但希望它们都可能成为其中的一部分Item
(但只有两者之一,所以记录 FirstItem
不会也有 a SecondItem
),我可以has 1
为两者建立关系其中,只有一个被填满。
那么在关系数据库中,这样做有意义吗?有没有更好、更有效的方式来定义这种关系?