Php 拉威尔三向枢轴约束装置
我遇到了一个问题,我必须连接laravel中的三个模型 模式1:许可证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
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和级别字段上具有唯一索引。这有意义吗?