【发布时间】:2019-10-21 03:02:27
【问题描述】:
我有两张桌子:
亲爱的
+----+--------------+
| id | name |
+----+--------------+
| 1 | Alec Badwin |
| 2 | Maria Quiban |
+----+--------------+
系列
+----+---------------+
| id | name |
+----+---------------+
| 1 | 30 Rock |
| 2 | Good Day L.A. |
+----+---------------+
我还有一个叫:serie_personnage
+----+-------------+----------+--------------+
| id | bonhomme_id | serie_id | personnage |
+----+-------------+----------+--------------+
| 1 | 1 | 1 | Jack Donaghy |
| 2 | 2 | 2 | Maria Quiban |
+----+-------------+----------+--------------+
我想显示来自 serie_personnage 的人物,并将其与我的刀片中的 bonhomme(在我的表 bonhomme)相关联的名称链接。
换句话说,我想在我的刀片中创建一个表格,其中第 1 列是 bonhomme 的名字,第 2 列是相关的人物。
我该如何处理 Laravel 中的关系?我试过了,但效果不好。
控制器
public function show($id)
{
$serie = Serie::where('id', $id)->first();
return view('admin.series.castings.show')->withSerie($serie);
}
型号 - 系列
public function personnages()
{
return $this->hasMany('App\Models\Admin\SeriePersonnage');
}
public function acteurs()
{
return $this->belongsToMany('App\Models\Admin\Bonhomme', 'serie_personnage', 'serie_id', 'bonhomme_id');
}
刀片
<tbody>
@foreach($serie->acteurs as $acteur)
@foreach($serie->personnages as $personnage)
<tr>
<td>{{ $acteur->nom }}</td>
<td>{{ $personnage->personnage }}</td>
<td><a href="#">bla</a></td>
<td>{{ $personnage->rang }}</td>
<td class="has-text-right">
<a class="button is-outlined" href="{{ route('series.show', $serie->id) }}">
Voir
</a>
<a class="button is-outlined" href="#">Editer</a>
</td>
</tr>
@endforeach
@endforeach
</tbody>
【问题讨论】:
-
您是否尝试在
bonhomme和serie表之间使用Many to Many 关系?据我所见,serie_personnage用作数据透视表,因此您可以像这样设置它并从serie检索数据 -
您是否为您的模型 serie_personnage 设置了任何关系?
-
我已经尝试了多对多关系,但我不确定我是否正确...模型中正确的语法是什么,我如何检索我的数据刀片?
标签: laravel foreign-keys relationship laravel-blade