我有兩個模型關係的hasMany型號:laravel得到與where子句
播放列表和圖片
播放列表可以有很多圖片。 一張圖片屬於播放列表。
在表格圖像中,我還創建了一個名爲「位置」的列,其中可以包含整數的 。
在Playlist.php:
public function images(){
return $this->hasMany('Image');
}
在Image.php:
public function playlist(){
return $this->belongsTo('Playlist');
}
我選擇一個播放列表型號:
$playlist = Playlist::with('images')->find($id);
問:
如何從具有特定位置的$ $播放列表中選擇圖像,例如位置1? 我想要加載控制器中的所有圖像(以查看所有位置的所有圖像),但在視圖中我想選擇一個具有特定位置的圖像。
有了:
$playlist->images
我得到的所有相關圖片,但我只希望這在位置欄中有一個「1」的形象。
編輯:
我得到了這個解決方案:
在播放列表中創建一個新的功能:
public function imagePosition($position) {
return $this->hasMany('Image')->wherePosition($position)->first();
}
現在,我可以在我看來與是否選擇該圖像:
{{$playlist->imagePosition(1)->id}}
這是最好的方法嗎?
是的,這是一個好辦法..但我的問題是,我想加載控制器的所有圖像(將所有的所有圖像在視圖中的位置),但在視圖中,我想選擇一個具有特定位置的圖像......爲模棱兩可的描述做準備。 – goldlife
@goldlife修正答案。 –
感謝這似乎工作。 – goldlife