如何将数据透视表中的数据与Laravel中的普通表相关联?

时间:2019-07-08 08:50:19

标签: php mysql laravel model many-to-many

我正在开发一个新的Laravel项目,并且遇到了一种以前从未遇到过的关系。基本上,我有这些模型

<table style="width:100%">

@foreach($items as $key => $item)

  <tr>

  @if($key % 2 == 0)<td>{{ $item }}</td>@endif

  @if($key % 2 != 0)<td>{{ $item }}</td>@endif


  </tr>

@endforeach

</table>
Activity
 - activity_id
 - activity_name
 - activity_description
 - category_id (foreign on categories)
Phase
 - phase_id
 - phase_name
 - phase_description

阶段和活动与ManyToMany相关。然后,我在模型中定义了“阶段”和“活动”之间的数据透视表

Risk 
 - risk_id
 - risk_name
 - risk_description

此外,阶段和风险与多对多相关。那我本来可以在“阶段”和“风险”之间进行选择

PhaseActivity
 - id
 - phase_id
 - activity_id

然后,我还有其他一些与此特定的阶段/风险关系相关的模型。即这些模型之一:

PhaseRisk
 - id
 - phase_id
 - risk_id

我想在数据透视表PhaseRisk和此模型(PPM)之间创建关系。但是直到现在我都没有找到任何解决方案。如何创建这种嵌套关系?

我希望创建一个可以在树状视图中显示的关系,如下所示:

PPM

 - ppm_id
 - ppm_name
 - ppm_description

0 个答案:

没有答案