Laravel中的表继承
作为laravel的新手,我在正确设置laravel模型方面遇到了问题。 在我的UML图中,我正在使用,以便可以从父表“继承”一些属性: 在我的数据库中,我有以下内容 实体表Laravel中的表继承,laravel,model,eloquent,uml,laravel-5.1,Laravel,Model,Eloquent,Uml,Laravel 5.1,作为laravel的新手,我在正确设置laravel模型方面遇到了问题。 在我的UML图中,我正在使用,以便可以从父表“继承”一些属性: 在我的数据库中,我有以下内容 实体表 ------------------- | id | identifier | ------------------- | 1 | AZX-C56 | ------------------- | 2 | AZX-C06 | ------------------- | 3 | MZX-9F1 | -
-------------------
| id | identifier |
-------------------
| 1 | AZX-C56 |
-------------------
| 2 | AZX-C06 |
-------------------
| 3 | MZX-9F1 |
-------------------
| 4 | MZX-X09 |
-------------------
工作表
---------------------------------------------
| id | entity_id | firstname | lastname |..|
---------------------------------------------
| 1 | 1 | Jean | Michel |..|
---------------------------------------------
| 2 | 2 | Jane | Doe |..|
---------------------------------------------
工作台
----------------------------------------------
| id | entity_id | Type | Description |
----------------------------------------------
| 1 | 3 | XU-09-A | lorem ipsum |
----------------------------------------------
| 2 | 4 | XZ-24-U | lorem ipsum |
----------------------------------------------
我的模型分别是:
类实体扩展模型{
受保护的$filleble=['identifier'];
公职人员(){
返回$this->hasOne(Worker::class);
}
公共函数机(){
返回$this->hasOne(Machine::class);
}
}
类工作者扩展模型{
受保护的$fillable=['entity_id'、'firstname'、'lastname'];
公共职能实体(){
返回$this->belongsTo(实体::类);
}
}
类机器扩展模型{
受保护的$fillable=['entity_id'、'type'、'description'];
公共职能实体(){
返回$this->belongsTo(实体::类);
}
}
我的问题是:我做得对吗,还是有更好的方法在Laravel中正确映射我的表?这不是继承。这是一个协会。您正在引用
实体
表中的ID
从我看到的情况来看,id用于
工作者
或机器人
,因此您应该使用xor
添加约束,谢谢您宝贵的添加。我将相应地更正我的模型:)