2017-05-29 65 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