我需要多对多Laravel多态关系的帮助

时间:2020-03-23 20:12:12

标签: php laravel laravel-6 laravel-7

我目前正在为我的组织开发一个专业网站,据此我具有以下模型:

  employee
      id
      employee_no
      full_name

   skill
      id
      name

   sector
      id
      name

   field
      id
      name
      sector_id

关系如下:-

  • 员工拥有很多技能,一个或多个员工可以拥有一项技能
  • 员工可以在不同部门工作,也可以一个或多个员工在一个部门工作
  • 员工可以在不同领域工作,也可以一个或多个员工在一个领域工作

您会看到

之间的关系很多

员工与技能,员工与部门以及员工与领域

所以我创建了三个表来处理这些关系,这些表如下:

employe_skill
   id
   employee_id
   skill_id

employe_sector
   id
   employee_id
   sector_id

employee_field
   id
   employee_id
   filed_id

从上面您可能会看到三个表,但几乎具有相似性。我需要有关如何将这种关系转换为多态的帮助,在这种情况下我只能有一个表。

1 个答案:

答案 0 :(得分:1)

尽管skillsector之间具有相似性,但是您建议的带有三个联接表的模型是完全有效的。如果实体在概念层面上有足够大的差异,则完全有理由采用不同的模型。 建议创建一个Entity Relationship图以查明系统的一致性。

Here是如何在Laravel中轻松实现多对多关系。

祝你好运!