【问题标题】:Laravel sync a Pivot table with 3 models relationships Many to Many and One to ManyLaravel 同步具有 3 个模型关系的数据透视表多对多和一对多
【发布时间】:2020-07-11 23:21:48
【问题描述】:

信息:

  • 一个好的公司有很多员工。
  • 该员工在公司担任多个职位。
  • 公司有很多活动。对于每一个活动,他们都需要一个工作人员。
  • 一个团队由许多担任某些职位的员工组成。一名员工可以在团队中担任多个职位。

例如:

员工名单是:

  • 员工 1 是司机音响工程师舞台操作员
  • 员工 2 是司机音响工程师
  • 员工 3 是 音响工程师舞台手
  • 员工 4 是 舞台手
  • 员工 5 是 舞台手

事件被调用:事件 1

  • 机组人员是:
    • 对于音响工程师的职位:
      • 员工 1
      • 员工 2
    • 对于舞台手的位置:
      • 员工 3
      • 员工 4
      • 员工 5
    • 对于司机的职位:
      • 员工 2
      • 员工 1

问题:

我相信这是通过使用包含 event_idemployee_idposition_id

的数据透视表来完成的

但是当我采用这种方法时,我会卡在提供数据和用于创建新数据的方法上。

有不同的方法吗?

【问题讨论】:

    标签: php laravel eloquent


    【解决方案1】:

    您需要两个数据透视表。一个用于持有员工 ID 和职位 ID 的员工和职位。员工和事件之间的另一个包含事件 ID 和员工 ID 的事件。我认为这是处理这个问题的更好方法。您可以在 laravel 中使用 attach 和 detach 方法处理数据透视表。

    【讨论】:

    • 如果我采用这种方法,我怎么知道员工在团队中的哪些职位?
    猜你喜欢
    • 2021-09-05
    • 1970-01-01
    • 2023-02-05
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 2021-05-25
    • 1970-01-01
    • 2019-02-13
    相关资源
    最近更新 更多