我试图了解Laravel模型之间的某些关系。
我想定义以下模型之间的关系:
用户 - 用户
广告系列 - 广告系列
通话 - 打个电话
领导 - 客户/
销售 - 销售
预约 - 预定的电话
这就是关系的方式:
可以将用户分配到多个广告系列。
用户可以拨打多个电话
一个用户可以有很多约会
一个电话属于一个用户
一个电话属于一个广告系列
广告系列可以有很多来电
一个活动可以有很多销售
可以为多个广告系列分配潜在客户。
一个铅可以有很多销售
一个广告系列中的一个用户属于一个用户
一个领导可以有很多电话
一次销售属于一个活动
一次销售属于一个用户
一个约会属于一个领导。
我不确定如何建立关系。它很容易与一对一或多对一。
但是这个怎么样:
呼叫 - >用户(一对一)
呼叫 - >广告系列(一对一)
广告系列 - >致电(一对多)
用户 - >呼叫(一对多)
希望我设法解释清楚。感谢。
答案 0 :(得分:0)
我建议您再次阅读Laravel docs on relationships。
以呼叫/用户关系为例,以下是您正在查看的内容:
User --------> Call
(one) (many)
这显然是一对多的关系。如果你想根据一个雄辩的模型建立这种关系的两个方面,那么关系是这样的:
A User hasMany Calls
A Call belongsTo a User
这些条款直接取自文档中标题为 One To Many 的部分。
所以,在代码......
用户模型
public function Calls()
{
$this->hasMany("Call");
}
(请注意,我已将方法名称复数形式 - 这是我自己的偏好,因为使用$user->Calls
将返回项目集合。
通话模型
public function User()
{
$this->belongsTo("User");
}
不要像你在分析中所做的那样孤立地处理一段关系的双方,而是同时考虑关系的双方。