![](/img/trans.png)
[英]Retrieving data from pivot table in Laravel only using one foreach loop
[英]Retrieving a single colum from a pivot table - Laravel 5
我正在使用數據透視表genre_user將用戶與genre關聯。 該表包含以下字段
id
user_id
genre_id
以下是模型定義
User.php
public function genres() {
return $this->belongsToMany('App\Genre');
}
Genre.php
public function artists() {
return $this->belongsToMany('App\User');
}
當我使用以下代碼時,我將結果作為集合
$user = auth()->user();
dd($user->genres);
我想在類型的下拉字段中顯示選定的類型。 是否可以從數據透視表中僅將當前用戶genre_id作為數組獲取而無需使用foreach循環。
我認為可以通過lists()
方法來幫助您實現此行為。 嘗試類似
$user_genres = auth()->user()->genres()->lists('name','id');
如果您使用的是Forms&HTML包,則可以
{!! Form::select('genres',$user_genres,null) !!}
這是您的下拉菜單
此處有更多信息(向下滾動到“檢索列值列表”)
user
應具有一種genre
。
因此,您的模型應包含以下關系:
User.php
public function genre() {
return $this->hasOne('App\Genre');
}
Genre.php
public function artists() {
return $this->belongsToMany('App\User');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.