model - Table inheritance in Laravel -
as newbie laravel, have problem setting laravel models correctly. in uml diagram, i'm using generalization can "inherit" attributes parent table: 
in database, have following.
entity table
------------------- | id | identifier | ------------------- | 1 | azx-c56 | ------------------- | 2 | azx-c06 | ------------------- | 3 | mzx-9f1 | ------------------- | 4 | mzx-x09 | ------------------- worker table
--------------------------------------------- | id | entity_id | firstname | lastname |..| --------------------------------------------- | 1 | 1 | jean | michel |..| --------------------------------------------- | 2 | 2 | jane | doe |..| --------------------------------------------- machine table
---------------------------------------------- | id | entity_id | type | description | ---------------------------------------------- | 1 | 3 | xu-09-a | lorem ipsum | ---------------------------------------------- | 2 | 4 | xz-24-u | lorem ipsum | ---------------------------------------------- my models respectively:
class entity extends model { protected $fillable = ['identifier']; public function worker(){ return $this->hasone(worker::class); } public function machine(){ return $this->hasone(machine::class); } } class worker extends model { protected $fillable = ['entity_id','firstname','lastname']; public function entity(){ return $this->belongsto(entity::class); } } class machine extends model { protected $fillable = ['entity_id','type','description']; public function entity(){ return $this->belongsto(entity::class); } } my question is: doing right, or there better way map tables correctly in laravel ?
this not inheritance. association. referencing ids entity table.
from see id used either worker or robot should add constraint xor.

Comments
Post a Comment