处理数据库中多个类型实体的最佳方式



我有一个课程实体,它可以在线或离线,并且有课程。根据类型的不同,课程可以有两组字段。在线课程的日期时间和离线课程的部分,包含视频文件和一些额外的属性,如'is_watched'等。如果我们创建一个字段表,其中包含每个课程的键和值,那么如果课程是在线的,那么离线课程的额外属性必须为空。如果我们为每种类型创建两个表,当然,我们必须定义两个关系,其中一个不存在,并且我们必须在每次访问字段时检查类型。实现这些表及其关系的最佳方式是什么?如何根据类型访问这些字段?

你可能需要检查laravel中的多态关系https://laravel.com/docs/8.x/eloquent-relationships

您可以创建两个表在线/离线课程课程模型将有一种方法,称为课程。多态关系将在课程表中创建两列Courseable_id——任意表的idcourseable_id——比;AppModelsOnlineCources或AppModelsOfflineCources

相关内容

  • 没有找到相关文章

最新更新