database - 如何在数据库laravel中存储不同用户角色的用户元信息
问题描述
我在我的 laravel 应用程序中担任不同的角色,如医生、患者、管理员。他们每个人都有不同的信息,因为患者有关于血型、性别、感染等(许多其他领域)的信息,但医生和管理员不会有这些。医生将拥有患者和管理员无法拥有的字段。那么如何以更好的方式将这些信息存储在数据库中。(我也想根据这些字段检索信息)。
- 我正在考虑创建新表
user_meta
并将列添加为user_id
,key
,value
。 - 第二个选项是让
users
表中的字段meta
与 JSON 对象一样,它将存储有关用户的所有信息
第一种方法适用于搜索,但不适合大量记录,第二种方法适用于大量记录,但不适合搜索。那么您认为还有其他方法吗?
解决方案
第二种方法对于搜索也不错。以json格式存储值{性别:“男”,血:“O+”}......
Laravel 已经有一个内置的格式化工具,可以很好地帮助你搜索这些数据,例如 $value->data['gender'];
推荐阅读
- linux - Bash:重定向来自 2 个来源的输入?
- python - Python Dash在过滤时隐藏html表格
- amazon-web-services - 开发 REST API 时处理“AWS 堆栈资源限制”的正确方法是什么?
- android - 是否可以检测三连击?
- parallel-processing - 有一组复数,如何在Fortran中做并行数值积分?
- c# - 如何从用户给出的列表中获取 n 个随机名称?
- javascript - 所见即所得的summernote html编辑器获取按键/更改/输入事件
- javascript - 数组变量中的预期标识符
- javascript - contentComponent:CustomDrawerContentComponent 在更新到 sdk 42 后不起作用
- python - 使用 sqlalchemy 和 fastapi 使用 postgresql 管理用户设置表的最佳实践是什么