Php 拉威尔三向枢轴约束装置

Php 拉威尔三向枢轴约束装置,php,laravel,orm,eloquent,pivot,Php,Laravel,Orm,Eloquent,Pivot,我遇到了一个问题,我必须连接laravel中的三个模型 模式1:许可证 licences_table id name 模式2:学科 disciplines_table id name 模式3:级别 levels_table id name weight 因此,一个许可证可以有多个学科,学科可以有多个层次 但是,对于某些许可证,具有纪律的级别必须是唯一的 我还创建了一个包含三个外键的透视表: discipline_levels_table l

我遇到了一个问题,我必须连接laravel中的三个模型

模式1:许可证

licences_table
    id
    name
模式2:学科

disciplines_table
    id
    name
模式3:级别

levels_table
  id
  name
  weight
因此,一个许可证可以有多个学科,学科可以有多个层次

但是,对于某些许可证,具有纪律的级别必须是唯一的

我还创建了一个包含三个外键的透视表:

discipline_levels_table
   level_id
   discipline_id
   licence_id
我使用belongtomany定义了这三个模型之间的关系

问题是,当我尝试获取所有具有其规程和级别的许可证时,如下所示:
license::with(array(“规程”,“规程.级别”)->get()

我得到的水平只与学科有关,而与执照和学科无关

我希望获得与每个学科和每个许可证相关的所有级别

如何做到这一点

我应该在模型之间定义不同的关系吗


或者我应该构造一个不同的查询?

您所描述的内容听起来像是许多学科的许可证,在透视表上有一个额外的级别字段,在所有三个字段上都有唯一的索引,或者一个许可证到多个规程,其中规程具有许可证外键和级别字段,并且在许可证id和级别字段上具有唯一索引。这有意义吗?