我有一个用户模型&销售模式。用户可以是商家或客户。
销售时,销售属于商家,也属于客户。
我认为我可以将促销商品给予商家& amp; sale_id并在模型中创建2种不同的关系。
对我来说感觉不对。所以我的问题是有更好的方法来解决这个问题吗?我处于发展的早期阶段。我不介意稍微改变数据库。
我正在使用laravel 5.3
答案 0 :(得分:1)
它不是一对一的,它的many-to-many关系和sales
表应该是一个数据透视表。关系通常如下所示:
class User extends Authenticatable
{
public function customers()
{
return $this->belongsToMany('App\User', 'sales', 'customer_id', 'merchant_id');
}
其中customer_id
和merchant_id
是指向id
表中users
的外键。
如果您使用sales
表执行大量操作,请继续使用Sale
模型作为此数据透视表。