laravel 模型关联 一对多

Posted 沐的屋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel 模型关联 一对多相关的知识,希望对你有一定的参考价值。

昨天记了笔记,一对一关联,今天做了修改

 

一篇文章对应多个评论   一个评论对应一个用户信息

 

现在通过 url 传递过来文章的 id ,查询到文章传递给视图显示

 

评论和用户信息,通过关联来获取

 

我的评论表 comment 有 user_id  post_id  content

 

用户信息表有 user_id 

 

关联如下:Comment中  return $this->hasOne(‘ App\Userinfo ‘ , ‘ user_id ‘ , ‘ user_id ‘ );

 

Userinfo中  return $this->belongsTo(‘ App\Comment ‘);

 

在这里说明一下,comment中关联的参数,评论表关联用户信息表,第一个参数为用户信息模型,第二个参数为用户信息表的外键,默认为评论表名加上_id 如 comment_id 用户信息表中没有这个外键会找不到,我的用户信息表没有这个评论的外键,我去指定这个发起评论的用户id的外键为 user_id ,第三个参数为评论表中与用户信息表对应的键,默认为评论表的id,在这里我设置为评论表中的 user_id 字段。

 

我用评论模型去预加载用户信息的时候,它会通过第三个参数,与第二个参数对比,如果一致,则取出参数。

通常我们在做关联的时候,会在被关联的表里面做外键(关联表的名字+id)来进行关联,这样就不用去设置第二第三参数,但是有时候在没有设置外键,或者关联表的id与被关联表的外键,不是我们进行关联的字段,第二第三参数就比较有用了。

 

以上是关于laravel 模型关联 一对多的主要内容,如果未能解决你的问题,请参考以下文章

laravel 模型中的一对一,一对多,多对多的关联

laravel 模型关联 一对多

Laravel5.1 模型--关联关系(复杂)

Laravel5.6 Eloquent ORM 关联关系,一对一和一对多

记录一次laravel 模型关联 一对一, 一对多 取数据

二十六PHP框架Laravel学习笔记——模型的一对多关联