当有6个常见列和2列带有不同名称的列时,可以使用polymorphic relation
?
我需要跟踪汽车maintenance
和refueling
。
maintenances - table
-date
-km_driven
-info (refers to maintenance info )
refuelings - table
-date
-km_driven
-amount (refers to amount in liters)
那么,我是否应该使用多态关系?如果每个型号有更多不同的列?
imho对于您的情况,我会选择单个表sharsto (sti(,但是您需要一个像this this this citterenco/partentenco/farther的库,或者这个nanigans/single--餐桌命名。
Laravel代码库在没有外部库的情况下不支持STI
。您可以尝试使用多态性关系来解决您的案例,但最终将获得3个不同的表。我认为您想使用一个带有两个甚至三个型号的表格,所以我的建议是尝试上面的STI库之一。
STI
是合适的。共享行为是可选的,因为可以根据模型来定义。一个例子可能是不同类型的车辆模型:汽车,卡车,自行车等。。
使用多态关系,模型可以belong_to
具有单个关联的几个模型。当几个模型没有关系或彼此共享数据,而与多态性类有关系时,这很有用。一个示例可以是注释可以属于其他型号的模型:用户,post,image 等。