怎么学习laravel的ORM

键盘侠
  • 51

在学习数据库的时候,老师告诉我们表有三种关系:1对1,1对多,多对多. 当时还觉得挺好理解的但是我学了laravel后,里面的ORM有7种关系.看的我头都晕了.一个文章表,能产生这么多的关联. 请问下大家,如果更好的理解laravel的ORM呢. 我现在很急躁...觉都睡不好了.
clipboard.png

回复
阅读 1.9k
1 个回答
gclove
  • 1.4k
✓ 已被采纳

这是很自然的一个概念啊, 不需要刻意地去理解

就像你的代码

一对多

一个用户, 很自然地

他可以有很多文章, 也可以有很多粉丝, 也可以关注很多人 (hasMany)

一篇文章, 自然应当有一个作者. 所以这个文章属于某一个用户(belongsTo)

你看... 如此简单. 这完全不需要刻意说明
当然这种关系是 可以叫做 一对多的关系 (One To Many)


多对多

比如文章可以有很多个 标签 (belongsToMany)

标签 自然也可以对应多个 文章 (hasMany)


hasManyThrough

文档的例子举的很恰当

countries
    id - integer
    name - string

users
    id - integer
    country_id - integer
    name - string

posts
    id - integer
    user_id - integer
    title - string

如果你想了解这个国家的人发布的文章, 那么自然地

你必须通过 用户 才能进行查找

宣传栏