假设我有两种类型的用户,merchant
和consumer
,它们共享一个基本表user
,用于公共数据,如电子邮件/密码。
对于特定于用户类型的数据,我有单独的表merchant_data
和consumer_data
。关于这一点的更多信息,请参阅我在dba.stackexchange上的问题
除此之外,每个用户子类型与数据库中的其他实体有不同的关系。
就最佳实践而言,我应该为merchant
和consumer
单独建立模型吗?即Merchant_model扩展User_model(扩展MY_Model)
根据我的意见,如果你只是类型和基本信息之间的差异,那么不需要单独的模型,因为它不需要太多的代码,彼此不同,但如果你在模型功能方面有很大的不同,那么最好的解决方案是有额外的模型。