关联模型有两个外键,应该怎么处理

关联模型有两个外键,关联应该怎么处理

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 10

要么是多态,要么就是设计模式有问题

2年前 评论

@raybon 我是有个互动问题表,还有个回答的表,回答表记录了用户的回复, 为了区分两个用户,我就在互动问题表 分别加了 userA 和userB字段,想着这样关联查询就能查到了, 但你说设计模式有问题,我也感觉好像不大对,但是没想到解决办法 :cry:

2年前 评论

一对多(多态)#

表结构

一对多多态关联与简单的一对多关联类似;不过,目标模型可以在一个关联中从属于多个模型。假设应用中的用户可以同时「评论」文章和视频。使用多态关联,可以用单个 comments 表同时满足这些情况。

多对多(多态)

表结构

多对多多态关联比 morphOne 和 morphMany 关联略微复杂一些。例如,博客 Post 和 Video 模型能够共享关联到 Tag 模型的多态关系。使用多对多多态关联允许使用一个唯一标签在博客文章和视频间共享

2年前 评论

@yangjisen 我这可能不适合,多态, 因为的 互动问题表需要两个用户共同回答,所以我在互动问题表上存了 userA和userB的id,想着关联回答表能知道是哪个用户的,我感觉我的设计有问题……

2年前 评论

说实话,这种场景没必要扯啥设计模式,特殊场景下特殊解决办法即可,不建议遇到关联的表就想到 Orm 关联怎么操作

你这里采用 left join 或者 right join 连接即可

2年前 评论
xiaopi

两个外键就是中间表啊。 不用定义中间表模型。直接多对多

2年前 评论

多对多。 $this->belongsToMany(关联的模型类名, 中间表表名,当前模型在中间模型中的外键名称, 关联模型在中间模型的外键名称); 另外在写建表的时候建立外键id对应的的表就可以了

2年前 评论

hello 你好,你最后是怎么解决的呢?

1年前 评论
臭鼬 (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!