laravel - 与用户 laravel 的特许经营/分支机构关系
问题描述
我无法找到最适合创建快递网站的关系。我的要求是
- 一个分支可以有很多用户
- 特许经营权只能与一个用户相关联
- 一个分公司可以有很多特许经营权
- 分支机构用户可以通过特许经营模式访问
注意:- 分公司和特许经营有不同的配置文件
解决方案
我想避免直接跳到答案并将您给出的陈述转换为更简单的关系描述:
- 1 branch has many franchises
- 1 user has 1 franchise
这将帮助您理解:
- branch <> franchises is one to many relationship
- franchise <> user is one to one relationship
楷模 :
Branch
模型 :
public function franchises()
{
return $this->hasMany(Franchise::class);
}
Franchise
模型 :
public function branch()
{
return $this->belongsTo(Branch::class);
}
public function user()
{
return $this->belongsTo(User::class);
}
User
模型 :
public function franchise()
{
return $this->hasOne(User::class);
}
为了使这些关系起作用,您需要在数据库模式中具有适当的外键。要了解更多信息,请查看文档
推荐阅读
- javascript - 更新对象之间的共享属性
- php - 创建项目后运行 phalcon 框架出错
- java - XML 解析文档
- amazon-web-services - 为什么 Fargate 默认基础设施涉及一个 VPC 和两个子网?
- node.js - MongoDB Checkboxes,是否适用?
- python - Matplotlib:如何以时间(HH24:MI)为 Y 轴绘制图形
- django - 使用 Django 和 CloudFront 的 HLS (m3u8) 视频转换流程
- javascript - 引用对象的变量 id 和使用“this”有什么区别吗?
- javascript - 函数构造函数与 eval
- python - 字符串到 Tensorflow 中的 one_hot 张量