记录一次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

原文地址:https://www.cnblogs.com/muwu/p/9017461.html