2014-12-04 79 views
0

我有4個桌子,想把它們綁在一起,但我迷路了。Laravel 1 foriegn鍵,2桌雄辯ORM

User 
    'id' 
    'name' // etc... 

Product 
    'id' 
    'name' // etc... 

AnonCart 
    'id' 
    'unique_id' //tied to session id 
    'product_id' // tied to 'id' of Product 
    'quantity' // 

UserCart 
    'id' 
    'user_id' //tied to 'id' of User 
    'product_id' // tied to 'id' of Product 
    'quantity' // 

我試圖建立雄辯這些關係對我的Laravel項目

我有以下

user.php的

public function userCarts() 
{ 
    $this->hasMany('\Namespace\UserCart'); 
} 

UserCart.php

public function user() 
{ 
    $this->belongsTo('\Namespace\User'); 
} 
public function product() 
{ 
    $this->belongsTo('\Namespace\Product'); 
} 

AnonUser.php

// doesn't have a user tied to it... 
public function product() 
{ 
    $this->belongsTo('\Namespace\Product'); 
} 

最後,我不;知道這裏做什麼。我不知道如何界定產品的關係,以車

Product.php

public function carts() 
{ 
    $this->hasMany('\Namespace\UserCart'); // AnonCart?? 
} 

我該如何解決具有鏈接到2級不同的表的產物,但具有相同關鍵字的問題在兩張桌子上?

是它具有2種方法(anonCarts()和userCarts()?)簡單

+0

是的,只是有2種方法。也許是'userCarts'方法和'anonCarts'方法。 – slapyo 2014-12-04 17:06:50

回答

0

Product.php

public function userCarts() 
{ 
    $this->hasMany('\Namespace\UserCart'); 
} 

public function anonCarts() 
{ 
    $this->hasMany('\Namespace\AnonCart'); 
}