Php 具有3个外键的数据透视表的雄辩模型?
我正在做一个有这种模型的项目 用于存储所有供应商详细信息的供应商表-供应商就像提供某种服务的公司 供应商Php 具有3个外键的数据透视表的雄辩模型?,php,mysql,database,eloquent,Php,Mysql,Database,Eloquent,我正在做一个有这种模型的项目 用于存储所有供应商详细信息的供应商表-供应商就像提供某种服务的公司 供应商 id | name ----+------- 1 | abc 2 | def 然后我有一个服务表,其中包含供应商可以提供的所有服务的列表: 服务 id | name ---+---------------- 1 | abc 2 | def 3 | ghi 还有一个区域表,其中包含供应商可以选择是否在该区域提供服务的所有区域的列表 区域 id | name ---+
id | name
----+-------
1 | abc
2 | def
然后我有一个服务表,其中包含供应商可以提供的所有服务的列表:
服务
id | name
---+----------------
1 | abc
2 | def
3 | ghi
还有一个区域表,其中包含供应商可以选择是否在该区域提供服务的所有区域的列表
区域
id | name
---+------
1 | abc
2 | def
3 | ghi
现在,我希望有一个数据透视表,用于存储哪个供应商在哪个区域提供哪个服务以及价格的详细信息,因此我的数据透视表结构如下所示:
vendor_id | service_id | area_id | price
-----------+------------+---------+---------
1 | 1 | 2 | 25.00
1 | 1 | 1 | 24.00
2 | 1 | 1 | 23.00
等等
因此,现在我有3个不同的雄辩模型,用于服务和供应商领域;但是,由于pivot表包含3个外键,因此我无法在供应商每次更改其首选项时正确更新pivot表
您能否建议我如何定义此场景中的关系,或者我是否应该更改表结构以存储此数据?以下2013年的文章为我做了这项工作 设置如下所示
Users
id | name | email
Projects
id | title | details
Roles
id | title
Project_User
id | project_id | user_id | role_id
class Project extends Eloquent
{
public function users(){
return $this->belongsToMany('User','project_user','project_id','user_id')
->withPivot('role_id')
->join('roles','role_id','=','roles.id')
->select('roles.title as pivot_roles_title');
}
}
不要把它当作一个支点,把它看作一个实体,你可以称它为提供服务或任何你想要的东西。并为itI搜索创建了一个雄辩的模型,在2020年进行了大量搜索,却一无所获。如何使用3个外键附加和同步?因为我必须在数据库中完成相同的场景。您如何在这里附加新条目?