如何通过中间表进行 一对一 / 一对多 关联?

template:
    id

category
    id

template_category
    template_id
    cateogry_id

template -> category 如何一对一关联

category -> template 如何一对多关联

通过中间表的方式不太会。。。尝试过 hasOneThrough 和 belongsToMany 结果不太对劲

tips:历史表设计问题,中间表有其他数据

thanks.
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
panda-sir
最佳答案

你这种表结构适用于 一对一 一对多 多对多 hasManyThrough 挺好用的

file

就是这样用 我用的没啥问题

3年前 评论
StringKe (楼主) 3年前
StringKe (楼主) 3年前
panda-sir (作者) 3年前
讨论数量: 5

一对一不需要中间表的啊

3年前 评论

belongsToMany需要指定正确的参数 return $this->belongsToMany('App\Role', 'role_user', 'user_id', 'role_id');

3年前 评论
StringKe (楼主) 3年前
panda-sir

你这种表结构适用于 一对一 一对多 多对多 hasManyThrough 挺好用的

file

就是这样用 我用的没啥问题

3年前 评论
StringKe (楼主) 3年前
StringKe (楼主) 3年前
panda-sir (作者) 3年前

为啥不直接在template表加一个category_id字段

3年前 评论
panda-sir 3年前
pigzzz (作者) 3年前
panda-sir 3年前
panda-sir

@StringKe

file

可以参考我这个 :smirk:

3年前 评论

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