【问题标题】:Laravel Many to Many relationship for 3 tablesLaravel 3个表的多对多关系
【发布时间】:2022-10-21 16:35:57
【问题描述】:

我有 3 个表 Branches,Subjects,Teachers

分支和主题已经多对多。

我有教师的 CRUD,当我创建教师时,我将信息插入到用户模型中以添加类型为教师的新用户。

我想建立关系以允许我结合教师/分支机构/科目。

例如,当我创建老师时,我需要选择与该老师相关的分支/分支和学科/科目。

有什么提示可以让我这样做吗?

【问题讨论】:

  • 阅读有关多对多关系的文档,并尝试一下
  • 多对多支持 2 个模型而不是 3 个
  • 是的你可以 。您必须定义另一个 pivot_Table ,其中包含 (teacher, branches, subject )

标签: laravel relation


【解决方案1】:

我它为你转换

如果我猜对了,您已经在三个模型中的每两个模型之间建立了多对多关系

(教师、分支和主题)。

相反,您应该在任何两个模型之间建立多对多

您的选择,并将第三个模型视为一个支点。例如:

教师.php

班级教师扩展模型

{

公共职能部门()

{

return $this->belongsToMany(Branche::class)->withPivot('subject');

}

}

分支.php

类分支扩展模型

{

公共职能教师()

{

return $this->belongsToMany(Teacher::class)->withPivot('subject');

} }

view.blade.php

@foreach($teacher 作为 $teacher)

@foreach($teacher-> 分支为 $branch)

{{ $branch->name }} {{ $branch->pivot->subject }}

@endforeach

@endforeach

【讨论】:

  • 这就是我所做的并且有效,感谢您的努力。
猜你喜欢
  • 1970-01-01
  • 2016-12-20
  • 2013-01-22
  • 2014-04-21
  • 1970-01-01
  • 2019-10-16
  • 1970-01-01
  • 2018-12-12
  • 2015-06-06
相关资源
最近更新 更多