2017-05-29 63 views
1

我在用戶和類別之間有多對多的關係。在第三張表中,我有一個名爲category_id的字段來引用每個記錄所屬的類別。我設置了一個系統,一旦用戶登錄,我希望他們查看具有他們在註冊時選擇的類別的category_id的記錄。雄辯的查詢不起作用

我的代碼如下所示
我在用戶模型這種關係設置,

public function categories() 
{ 
    return $this->belongsToMany('App\Category'); 
} 

和也在本

public function userCats() 
{ 
    return $this->categories()->get(); 
} 
在類別表I具有這種關係設置

​​

在我的第三個表controll呃,我有以下代碼

if(Auth::check()){ 
    $servo = Jumong::postOnly()->whereIn('category_id', Auth::user()->userCats())->get(); 
} else { 
    $servo = Jumong::all()->where('type','P'); 
} 
dd($servo); 

的問題是,下面的部分,

Auth::user()->userCats() 

它在朱蒙返回表只剩下最後2條記錄,並有不止於此。 如果我用數組替換它,它將返回正確的結果。

關於我失蹤的任何想法?

+0

看那laravel文檔使用數據透視表 – tam5

回答

2

它不起作用,因爲其中預計IDS而 驗證::用戶()的陣列 - > userCats()返回的類別的集合。 你仍然可以做類似的事情。

Auth::user()->categories->pluck('id')

+0

這個工作的感謝 – dapo