Php 拉维尔多重关系

Php 拉维尔多重关系,php,laravel,eloquent,relationships,Php,Laravel,Eloquent,Relationships,我正试图弄清楚拉威尔模型之间的一些关系 我想定义以下模型之间的关系: 用户-用户 运动-运动 电话-电话 领导-领导/客户 销售-销售 预约-预约电话。 这就是关系应该是的方式: 一个用户可以被分配到许多活动。 一个用户可以有许多呼叫。 一个用户可以有多个约会。 一个呼叫属于一个用户。 一个电话属于一个活动。 一个活动可以有很多电话。 一个活动可以有很多销售 一个潜在客户可以分配给许多活动。 一个潜在客户可以有很多销售机会 一个lead属于一个活动中的一个用户。 一条线索可以有很多电话 一次销售

我正试图弄清楚拉威尔模型之间的一些关系

我想定义以下模型之间的关系: 用户-用户 运动-运动 电话-电话 领导-领导/客户 销售-销售 预约-预约电话。 这就是关系应该是的方式:

一个用户可以被分配到许多活动。 一个用户可以有许多呼叫。 一个用户可以有多个约会。 一个呼叫属于一个用户。 一个电话属于一个活动。 一个活动可以有很多电话。 一个活动可以有很多销售 一个潜在客户可以分配给许多活动。 一个潜在客户可以有很多销售机会 一个lead属于一个活动中的一个用户。 一条线索可以有很多电话 一次销售属于一次活动 一次销售属于一个用户 一个约会属于一个潜在客户

我不确定如何建立这种关系。一对一或多对一很容易。 但是这个呢: 呼叫->用户一对一 呼叫->活动一对一 活动->呼叫一对多 用户->呼叫一对多

希望我能解释清楚。谢谢。

我建议你再看一遍这本书

以通话/用户关系为例,下面是您看到的内容:

User  --------> Call
(one)           (many)
这显然是一对多的关系。如果你想用一个雄辩的模型来建立这种关系的双方,这种关系是:

A User hasMany Calls

A Call belongsTo a User
这些术语直接取自文件中题为“一对多”的章节

所以,在代码中

用户模型

请注意,我将方法名设为复数形式-这是我自己的偏好,因为使用$user->Calls将返回一个集合if items

呼叫模型


不要孤立地看待一个关系的两面,正如你在分析中所做的那样,同时考虑双方的关系。< / P >嗨,Kryten,谢谢你的回答。你的答案是我从文件中得到的。现在,我们在用户和调用之间建立了一对多关系。所以现在我们需要在活动和通话之间建立一种关系,但仍然要保持用户和通话之间的关系。如何做到这一点?请阅读DDD中的聚合
public function Calls()
{
    $this->hasMany("Call");
}
public function User()
{
    $this->belongsTo("User");
}