【发布时间】:2018-02-01 06:15:38
【问题描述】:
我对 Laravel Eloquent 处理模型的方式相当陌生。
我需要创建一个具有一些公共属性和关系的基础 Product 类,以及一些具有一些其他不常见属性的其他类。
我将尝试做一个简单的例子:所有产品都有一个“serial_number”、一个“ship_date”等......
但只有 Bottle 和 Bulb 类有“glass_type”特性,而 Chair 类有另一个。
我正在做一些事情
abstract class Product extends Model {}
class Bottle extends Product {}
但我认为这样 Product 没有任何附加的 db $table,我不知道如何处理迁移表和背后的逻辑。
在这里申请的最佳方法是什么?
提前谢谢你
【问题讨论】:
-
你可以使用特征而不是抽象这样的东西,为了简单起见,迁移只是重复公共列,但如果你有很多公共列,请查看 Laravel 多态关系,看看这个例子:@ 987654321@
标签: php laravel inheritance database-design eloquent