2016-10-01 67 views
0

我有许多不同的角色,他们在我的laravel应用程序中基本都是“用户”。限制多个雄辩关系?

我遇到了一个问题,我可以轻松地获得一个关系,在用户作为车主的情况下,但当我尝试在(不同)用户的上下文中获得另一个关系时作为维护经理,我得到这个错误:Cannot redeclare class App\Models\User

serviceAgreement模型

public function manager() 
    { 
      return $this->belongsTo('carfreak\Models\User','manager_id','id'); 
    } 

正常工作:

$managers = $owner->serviceAgreement()->get();

产生错误

$managers = $owner->serviceAgreement()->with('manager')->get();

我在想这个问题出在我写我的关系的地方 - 我指的是\Models\User。我试图引用登录的用户,但它(a)对此应用程序没有意义,并且(b)无法正常工作。

return $this->belongsTo(Auth::User(),'manager_id','id');

一些指针吗?

回答

0

发生这种情况是因为App\Models\User类声明了至少2次。更改

public function manager() { return $this->belongsTo('carfreak\Models\User','manager_id','id'); }

public function manager() 
{ 
     return $this->belongsTo('App\Models\User','manager_id','id'); 
} 

你现在应该去罚款。

希望它有帮助。