2016-12-06 140 views
1

我想從數據透視表中獲取數據(我有第三列)。但它返回空數組。當我做DD()我得到這個數據透視表返回空數組

Collection {#323 ▼ 
    #items: [] 
} 

$a = new Subject(); 
$authorized_users = $a->users()->get(['auth_teacher']); 

車型

主題

public function users() 
{ 
    return $this->belongsToMany('App\User')->withPivot('auth_teacher')->withTimestamps(); 
} 

用戶

public function subjects() 
{ 
    return $this->belongsToMany('App\Subject')->withPivot('auth_teacher')->withTimestamps(); 
} 

編輯:錯別字列名。我將其更改爲正確的,但字符串仍然是空的

+0

我不明白爲什麼你想從'Subject'模型獲取一個'subject_id',可以你請妥善闡述你的問題! –

+0

這裏我糾正它(它不subject_id是auth_teacher – OunknownO

回答

3

只需使用模型上的pivot關係。

$a = Subject::find(1); 
foreach ($a->users as $user) { 
    echo $user->pivot->auth_teacher; 
} 

https://laravel.com/docs/5.3/eloquent-relationships#many-to-many

在本文檔中查找「檢索中間表列」

+0

不,我想從數據透視表中獲得第三欄(有鍵3定製布爾列。我需要第三個)。我知道怎麼去具體用戶或主題(我寫錯了列名) – OunknownO

0

試試下面的代碼:

$a = new Subject(); 
$authorized_users = $a->users()->find(['subject_id']);