【发布时间】:2021-08-04 13:28:45
【问题描述】:
我正在使用 Laravel 开发一个平台,在连接多个表之间时遇到了问题。这些表如下:
- 订购
- 服务领域
- 服务字段值
每个订单有多个服务字段,每个服务字段对应多个订单。(服务字段与订单关系n=>n) 服务与服务值的关系 1=>n ,每个字段服务字段有多个服务值。
订购模式:
public function serviceFields()
{
return $this->hasMany(ServiceFields::class);
}
服务领域模型:
public function orders()
{
return $this->hasMany(Order::class);
}
public function ServicebFieldValue()
{
return $this->hasMany(ServiceFieldValue::class);
}
服务领域价值模型:
public function serviceField()
{
return $this->belongsTo(ServiceFields::class);
}
对于每个订单,必须存储几个服务字段,有一个多对多的中间表,我没有存储订单的服务字段值的解决方案,这个服务字段值应该存储在哪里以及什么关系的类型应该是什么?
【问题讨论】:
-
N:N/多对多关系需要在两个模型上定义
belongsToMany关系,并且必须有一个数据透视表 (@987654326@) 连接这两个表,orders和 @ 987654328@。 laravel.com/docs/8.x/eloquent-relationships#many-to-many -
感谢回复 我无法存储服务字段值 我需要添加表格来存储服务字段值吗?
标签: php database laravel eloquent