【发布时间】:2016-07-19 00:10:44
【问题描述】:
我正在构建一个涉及跟踪不同类型潜在客户的 Laravel 应用程序。例如,有再融资线索和采购线索。
由于线索共享很多信息和功能,但不是全部,我的想法是创建一个 Lead 类,它扩展了 Laravel 的 Model 类,然后是一个 RefinanceLead 类,它扩展了 @987654325 @ 班级。
所以我有:
class Lead extends Model
{
// shared lead stuff
}
class RefinanceLead extends Lead
{
// stuff specific to refinance leads
}
我的问题是:
- 这种策略有意义吗?
- 如果是,Eloquent 将如何处理数据?我会有
leads表和refinance_leads表吗? - RefinanceLead 类的新实例会利用
leads表中的任何内容吗?
我无法通过文档回答这个问题,但如果我错过了解释的地方,请告诉我。谢谢。
【问题讨论】:
-
您应该考虑阅读有关Dependency Inversion 的信息。首先为每种类型的潜在客户规划您的接口。您可能会发现构建特征而不是扩展更好,以便将它们解耦?
标签: laravel inheritance eloquent models