雄辩的自定义关系返回类型错误

时间:2014-12-19 13:03:12

标签: laravel eloquent relationship

我在定制关系方面遇到了一些麻烦。 我希望$user->sites返回$user有权访问的每个网站。它是belongsToMany关系,具有数据透视表'user_site'。问题是,当$user是管理员时,他可以访问数据库中的每个站点,而我无法让它与Eloquent合作。

public function sites() {
  if( $this->is_super_user )
    return Site::whereNotNull('deleted_at');

  return $this->belongsToMany('Site', 'user_site');
}

这是我得到的,但它不起作用(关系方法必须返回Illuminate\Database\Eloquent\Relations\Relation类型的对象。)

我可以返回Site::all()$this->belongsToMany('Site', 'user_site)->get(),但我希望能够使用动态属性($user->sites)并过滤结果($user->sites()->where...)< / p>

我错过了什么吗?

0 个答案:

没有答案