laravel - 使用关系 laravel 从三个模型中获取数据
问题描述
我有三个模型:
意甲 ($id)
public function saisons()
{
return $this->hasMany(Season::class);
}
public function episodes()
{
return $this->hasManyThrough(Episode::class, Season::class);
}
赛季($serie_id)
public function serie()
{
return $this->belongsTo(Serie::class);
}
public function episodes()
{
return $this->hasMany(Episode::class);
}
剧集($season_id)
public function season()
{
return $this->belongsTo(Season::class);
}
public function serie()
{
return $this->BelongsToThrough(Serie::class, Season::class);
}
我想展示一个系列中的一个特定季节以及相关的剧集
我的观点
<h1 class="title">{{$serie->seasons->number}}</h1>
@foreach ($serie->seasons->episodes as $episode)
<div class="row">
<div class="columns">
<div class="col">
{{$episode->number}}
<a href="{{route('episodes.show', $episode->id)}}">{{$episode->name}}</a>
@if(isset($episode->programmation->date))
{{$episode->programmation->date}}
@endif
@if (($episode->season_finale) == '0')
Non
@elseif (($episode->season_finale) == '1')
Oui
@endif
@foreach ($episode->chaines as $chaine)
{{$chaine->name}}
@endforeach
</div>
</div>
</div>
@endforeach
路线
Route::get('/serie/{serie}/saison/{season}', 'Front\SaisonController@show')->name('saison.show');
对于我的 url,我选择显示 saison 的编号而不是 id,我认为这就是问题所在。
我怎样才能以适当的方式做到这一点?
解决方案
我认为这种方法可以帮助你。
$serie = Serie::where('id',$id)->with('seasons'=>function($query) use ($season_id) {
$query->where('season_id',$season_id)->with('episodes')->get();
})->get();
推荐阅读
- java - 在 Android Studio 上使用 itemtouchhelper.callback 拖放时降低滚动速度
- java - 更改 Integer 类对象的值
- javascript - JSTree 不显示节点
- java - Spring Boot 管理员 - 基本身份验证
- repository - 无法将应用程序部署到 shinyapps.io:无法确定包源
- android - 使用 AWS Amplify 和 Android 通过 Cognito 对 REST API 进行身份验证
- c# - 具有外键的数据库模型的 C# 8 非 Null 引用类型
- python - Django All-Auth django.contrib.auth.backends.ModelBackend 语法无效
- angular - 如何在点击时获得离子滑动指数?
- python-3.x - 如何在 Python 中将列表连接到 int?