0
在我的應用程序中有三個模型:User
,Product
和Retailer
。用戶可以選擇與一個Retailer
關聯。Laravel將多個關係統一爲一個
每個Product
屬於一個User
和可選的一個零售商。
用戶應能夠訪問屬於他們的所有Product
以及屬於與其關聯的零售商的所有產品(如果有)。
基本上這意味着我需要創建兩個關係並以某種方式統一它們。
public function products()
{
// Via column `user_id` in products table
return $this->hasMany('App\Product');
}
// And:
public function products()
{
// Via column `user_id` in products table
return $this->hasManyThrough('App\Product', 'App\Retailer');
}
我怎麼能夠將這兩個關係統一成一個?
是零售商只是一種特殊類型的用戶?意思是說一個普通用戶存儲更多的細節,或者是完全不同的東西? – Bogdan
@Bogdan「零售商」模型是公司。多個用戶可以與同一個零售商相關聯(例如,所有爲該公司工作)。用戶通過'users'表中的'retailer_id'列與零售商關聯。 – Padarom
從產品到零售商的連接如何?因爲你說用戶有retailer_id,而產品有user_id。所以這兩種關係都可以直接面向用戶,那麼產品如何屬於零售商? – blablabla