我有一张桌子,看起来像下面的;
Table: offers (Model: Offer)
id
Table: clients (Model: Client)
id
Table: offer_requests (Model: OfferRequest)
id
offer_id
client_id
所以,关系应该是这样的;
-
offer
有多个
offer_requests
-
提供
有多个
clients
(通过
提供请求
)
-
client
有多个
提供请求
-
客户
有多个
offers
(通过
提供请求
)
-
offer_request
属于某人
提供
-
报价请求
属于某人
客户
我能想到的是;
-
提供
哈斯曼
提供请求
---反向:
报价请求
归属于
提供
-
客户
哈斯曼
提供请求
---反向:
报价请求
归属于
客户
我想不出来的;
-
提供
有多个
客户
通过
提供请求
-
客户
有多个
提供
通过
提供请求
如果我仔细阅读手册,草率的关系在这里是行不通的。我认为这应该是一种多对多的关系。
如果我是对的:我如何使用
提供请求
表作为中间表/透视表?
如果我不是:怎么解决这个问题?
更新:工作
我现在已经建立了如下关系:;
型号:报价
class Offer extends Model
{
public function clients()
{
return $this->belongsToMany(Client::class, 'offer_requests')->using(OfferRequest::class);
}
}
型号:客户机
class Client extends Model
{
public function offers()
{
return $this->belongsToMany(Offer::class, 'offer_requests')->using(OfferRequest::class);
}
}
型号:报价
use Illuminate\Database\Eloquent\Relations\Pivot;
class OfferRequest extends Pivot
{
protected $table = 'offer_requests';
}