我目前有一个网站,我从数据库中抓取歌曲,循环浏览并在页面上显示它们。我现在需要添加一个选项来预览这首歌的8bar样本,我正在努力将foreach放入一个foreach中。目前,我有以下的显示在我的网页上:Foreach循环与从控制器数据的刀片
The markup my loops are producing
我想获得的节拍进入歌曲容器,但是我有一个循环推出这首歌的容器,像这样:
@foreach($tracks as $track)
<div class="song-container">
<h2>{{$track->Title}}</h2>
<button><a href="/mode-select/fun/freestyle/beatselect/{{$track->id}}?track={{$track->id}}">Select</a></button>
</div>
@endforeach
,略高于我有我拍的foreach:
@foreach($beats as $beat)
<a href="{{$beat->URL}}"><button class="beat-preview">Preview beat</button></a>
@endforeach
我缺少的东西非常明显?我只需要将由beat foreach产生的锚点放入歌曲容器div。
澄清: 我有一个ID,一个标题等跟踪表,它与Track ID有关系,Beat表有TrackVariantIds(它们只是8/16/24条的URL)基本上)。
更新:
我整理我的口才车型,现在可以运行下面的foreach:
@foreach($tracks as $track)
<div class="song-container">
<h2>{{$track->Title}}</h2>
@foreach($track->beats as $beat)
{{$beat->URL}}
@endforeach
<a href="{{$track}}"><button class="beat-preview">Preview beat</button></a>
<button><a href="/mode-select/fun/freestyle/beatselect/{{$track->id}}?track={{$track->id}}">Select</a></button>
</div>
@endforeach
//In my Track Model
public function beats() {
return $this->hasMany(\app\Beat::class, 'TrackID', 'id');
}
这将返回所有三个节拍的时候其实我想告诉上面的foreach采取唯一的TrackVariantID为1.任何想法? :)
在此先感谢您的帮助!
哪里关系,一个轨道有很多“节拍”?如果是的话,那么只要你正确地建立了他们的关系,那么你把'beat'放在'track'的foreach中就可以了。 – Mysteryos
嘿@Mysteryos - 一首曲目有很多节拍是的,但是我只需要这个页面上的8bar变体(正如我的查询所声明的那样,所以我只能得到8bar)我只是不确定如何做我的循环 – ExohJosh
每个节拍预览都必须有自己的URL。因此,你的'foreach'节拍循环应该是这样开始的:'@foreach($ track-> beats as $ beat)'。否则所有曲目将具有相同的节拍预览。 – Mysteryos