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

template:
    id

category
    id

template_category
    template_id
    cateogry_id

template -> category 如何一对一关联

category -> template 如何一对多关联

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

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

thanks.
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
panda-sir
最佳答案

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

file

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

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

一对一不需要中间表的啊

4年前 评论

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

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

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

file

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

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

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

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

@StringKe

file

可以参考我这个 :smirk:

4年前 评论

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