ThinkPHP 多对多数据表设计相关问题。

概述

企业微信端有成员数据需要同步到本地,成员数据有几个关联数据不知道怎么设计的好。

企业微信给的数据

{
    "name": "李四",
    "department": [1, 2], // 所属部门ID列表,用户可以隶属多个部门
    "order": [1, 2], // 所在部门排序值,和所属部门ID位数相同一一对应
    "is_leader_in_dept": [1, 0], // 是否部门领导,和所属部门ID位数相同一一对应
    // ... 省略其他数据
}

目前的设计

成员表 + 部门表 + 中间表

成员和部门多对多关联userid -> department_id,并附加额外信息,中间表如下

用户ID关联部门ID部门内排序值是否领导
useriddepartment_idorderis_leader_in_dept

求助

  1. 寻求更好的设计
  2. 目前这么设计在访问某个部门成员列表时,可否根据中间表的order字段排序
  3. 可否根据中间表的字段is_leader_in_dept快速给用户贴领导标签
阅读 2k
2 个回答

现有设计就很好

这是个典型的多许多场景,
TP没用过,Laravel官方文档有详细说明,
https://laravel.com/docs/8.x/...

PS:好巧,我也正在写一个企业微信应用,可以相互沟通哈~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进