我是Laravel的新手。我正在建立会计系统的应用程序。
我想拥有User和Customer的模型,每个模型都有category_id列。但我不想为每个模型创建每个类别模型。我想拥有一个包含用户和客户模型类别的类别模型。
例:
用户模型的列
- id
- name
- category_id
客户模型的专栏
- id
- name
- category_id
类别模型的列
- id
- name
- type (user or customer)
- - -更新 - - -
例:
分类模型
**ID - NAME - TYPE**
1 - staff - user
2 - visitor - user
3 - owner - user
4 - new - customer
5 - old - customer
因此,当我们创建用户/客户时,我们将获得用户的(员工,访客,所有者)类别以及客户的(新旧)类别。
要存档这种关系,我应该实施哪种Eloquent Relationship?
您不需要定义类型。 Category
模型应该对用户类型一无所知。只需在Category
模型中定义两个关系:
public function users()
{
return $this->hasMany(User::class);
}
public function customers()
{
return $this->hasMany(Customer::class);
}
您还可以在User
和Customer
模型中定义关系:
public function category()
{
return $this->belongsTo(Category::class);
}