2016-10-01 23 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'); 
} 

你現在應該去罰款。

希望它有幫助。