2014-10-20 165 views
11

我有兩種模式,UserBadge。用戶可以擁有多個徽章,並且徽章可以屬於多個用戶。 (使用數據透視表)Laravel belongsToMany排除數據透視表

目前我正在獲取我需要的數據,但此外我還得到了pivot表。我如何排除這個?

enter image description here

這裏的User型號:

class User extends Eloquent { 

    public function badges() { 
     return $this->belongsToMany('Badge', 'users_badges'); 
    } 

} 

而且Badge型號:

class Badge extends Eloquent { 

    public function users() { 
     return $this->belongsToMany('User', 'users_badges'); 
    } 
} 

回答

22

添加pivot$hidden財產在你的模型(一個或多個)陣列。

class Badge extends Eloquent { 

    protected $hidden = ['pivot']; 

    public function users() { 
     return $this->belongsToMany('User', 'users_badges'); 
    } 
} 

而且同樣與User模型

class User extends Eloquent { 

    protected $hidden = ['pivot']; 

    public function badges() { 
     return $this->belongsToMany('Badge', 'users_badges'); 
    } 

} 
+0

可以將其按要求做什麼? – challet 2018-01-24 09:46:45