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

Posted 沐的屋

tags:

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

一对一是 用户表和用户信息表 一个用户对应一个用户信息

 

user 对应 userinfo

user 中存入的是邮箱密码之类的,userinfo存入的是姓名年龄之类的。

在控制器中取数据  从userinfo取数据带上user信息   $userinfos = Userinfo::with(‘ user ‘)-paginate( 5 );

 

取出所有用户信息分为每页5条

 

在视图里面遍历输出每个用户的信息,例如   取姓名 :$userinfo->name   取user表中的数据   $userinfo->user->email;  因为是一对一的关系,所以直接使用userinfo的user属性调用email属性(在userinfo中找,找不到后在user中找)

 

第二个是文章和评论关联,因为一个文章对应多个评论,所以在后面要输出评论,我们要取遍历以下所有评论才能取出数值

 

post 对应 comment

 

在控制器中取某一篇文章数据,$id为文章的id      $post = Post :: where(‘ id ‘ , $id )->with(‘ comment ‘)->first();

 

这样子就取到了这边文章的数据和这篇文章对应的评论,在评论表里必须又post_id ,把$post传递给视图

 

在视图中取数据   例如: 取文章内容  $post->content     取评论,因为文章对应多个评论,所以先进行判断是否又评论,有的话遍历并输出

 

@if ( $post->comment )

  @foreach( $post->comment as $value)

    {{ $value->content }}    //这里取到了每一条评论

  @endforeach

@endif

 

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

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

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

laravel的模型关联之(一对多的反向)

laravel 模型关联 一对多

laravel中的模型关联之(一对多)

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