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: enter image description here

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.

enter image description here

from see id used either worker or robot should add constraint xor.


Comments

Popular posts from this blog

javascript - Slick Slider width recalculation -

jsf - PrimeFaces Datatable - What is f:facet actually doing? -

angular2 services - Angular 2 RC 4 Http post not firing -