2017-05-15 30 views
0

我正在设计一个数据库与Eloquent/Laravel,我想知道以下是否是一种最佳做法。雄辩的继承

对于汽车表,一些列是特定于汽车的类型(装载箱尺寸),一些是所有汽车(颜色)通用的。

是否可以,如果我有一个表中的某些列根据类型为空或更好每个车型有不同的表?如果是这样,如何在数据库级别正确实现继承?我试图找到文档,但唯一的参考是多态关系是不同的

+0

多形性是你想要的。你会有一些类似于id和类型的属性表。如果id是1并且type是引擎,那么你会在引擎表中查找id 1,如果它是1并且type是传输,那么你会在传输表中查找id 1。车型?我想我希望看到更多你想要做的事情的例子。一辆车会有颜色,而另一辆不会? – mkaatman

回答

1

一个简单的数据透视表应该可以帮助你。这可以帮助您直接与汽车保持共同参数并定义特定类型的汽车,以便您可以重复使用多辆汽车。示例结构可以帮助您理解。

Car 
- id 
- name 
- cost 
- color 

Type 
- id 
- size 
- weight 

Car_type 
- car_id 
- type_id 

例如,如果你有天赋XYZ车,你可以拥有这款车在很多颜色。以上将允许您添加多种不同颜色的汽车,并使用包含规格xyz的单一汽车类型。