2017-11-10 76 views
0

我有兩個表,客戶和用戶在用戶表我:如何檢查兩張表之間的雄辯關係?

ID

電子郵件

密碼

在客戶我有

CUSTOMER_ID

的package_id

當有人註冊,在用戶表中創建ID號,並在同一時間它會在客戶表:ID和CUSTOMER_ID得到ID-相同值>用戶 內部客戶模型我有

public function owners() 
{ 
return $this->belongsToMany('App\User', 'customers'); 
} 

所有我現在需要的,如果package_id與當前CUSTOMER_ID只是登記後檢查爲空Ø [R空回..否則,如果有任何數量的迴歸 我想這在控制器但不工作

public function redirectpackage(Request $request) 
{ 
if (Auth::check() && Auth::user()->customer->package_id == 1) { 
return view('index.customer.customerpackage'); 
} 
else{ 
return view('index.customer.customerabout');  
} 
    } 

回答

0

如果customers.customer_id是一個外鍵引用users.id,然後... ...:

  • 一個客戶只能有一個用戶(「屬於」)。
  • 但是用戶可以有許多客戶(「有很多」)。

因此,內部owners()belongsTo()替換belongsToMany()

public function owners() 
{ 
    return $this->belongsTo('App\User', 'customer_id'); 
} 

而且User模型中,添加到Customer模型的關係:

class User extends Model 
{ 
    public function customers() 
    { 
     return $this->hasMany('App\Customer', 'customer_id'); 
    } 
} 

現在你可以檢查用戶有一個在customers()關係給出package_id

Auth::user()->customers()->where('package_id', 1)->count(); 

或者,您可以使用isEmpty()而不是count()