如何与类型存储在 db 中的模型建立一对多关系

Posted

技术标签:

【中文标题】如何与类型存储在 db 中的模型建立一对多关系【英文标题】:How to establish a one-to-many relationship to a model whose type is stored in db 【发布时间】:2020-07-24 19:34:00 【问题描述】:

我有一个如下所示的数据库:Database Graphical Representation

dance_performer.perfomer_type 字段包含 '\App\Dancer''\App\Couple''\App\Formation' 等值。

您将如何继续将dance_performer.perfomer_id 连接到不同的型号?我不确定我应该如何在不同的模型中编写关系。 我是否应该创建一个 \App\Performer 模型,然后将其定向到前面提到的三个模型之一?

我将不胜感激。

【问题讨论】:

在 Laravel 文档中查找 morph 抱歉,我认为我没有这样做所需的声誉。 【参考方案1】:

您正在寻找polymorphic 关系。参见文档https://laravel.com/docs/7.x/eloquent-relationships#polymorphic-relationships

【讨论】:

以上是关于如何与类型存储在 db 中的模型建立一对多关系的主要内容,如果未能解决你的问题,请参考以下文章

如何更新 Node.js 中的一对多关系?

Flask框架之一对多关系模型定义

NHibernate之(12):初探延迟加载机制

Django Postgres ArrayField 与一对多关系

Laravel 5.6 |雄辩的一对多关系

实验课程之基础