hasOne        一对一     用户名-手机号
hasMany         一对多       文章-评论
belongTo       一对多反向   评论-文章
belongsToMany      多对多     用户-角色
hasManyThrough    远程一对多   国家-作者-文章
moreghMany      多态关联    文章/视频-评论
morephToMany    多态多对多   文章/视频-标签

  • 创建评论模型

  1. class Comment extends baseModel
  2. {
  3. public function post(){
  4. return $this->belongsTo('App\Post');
  5. }
  6.  
  7. /**
  8. * notes: 评论所属用户
  9. * author: cible
  10. * time: 2018/12/4 上午8:44
  11. */
  12. public function user(){
  13. return $this->belongsTo('App\User');
  14. }
  15. }
  • 增加评论

  1. public function comment(Post $post){
  2. $this->validate(request(),[
  3. 'content' => 'required|min:3'
  4. ]);
  5.  
  6. $comment = new Comment();
  7. $comment->user_id = \Auth::id();
  8. $comment->content = request('content');
  9. $post->comments()->save($comment);
  10.  
  11. return back();
  12. }
  • 评论列表

模型关联预加载(两种)  

  1. $books = App\Book::with('author')->get();
  2. $books->load('author','publisher');
    //实例
    $post->load('User');

模版(直接在模版加载输出)

  1. @foreach($post->comments as $comments)
  2. <li class="list-group-item">
  3. <h5>{{$comments->created_at}} by {{$comments->user->name}}</h5>
  4. <div>
  5. {{$comments->content}}
  6. </div>
  7. </li>
  8. @endforeach
  • 获取评论总数

模型关联计数

  1. $posts = App\Post::withCount('comments')->get();
    //实例
    $lists = Post::orderBy('created_at','desc')->withCount('Comments')->paginate(5);
  2.  
  3. //视图层
    {{$list->comments_count}}

laravel模型关联的更多相关文章

  1. laravel 模型关联之(多对多)

    多对多 多对多就相当于一个专题Topic有多个文章,但是这多个文章又属于多个专题, 而且多对都必须有一个表是他们之间的关联关系表PostTopic Post表和Topic表之间没有直接的关联,而且通过 ...

  2. laravel模型关联与列表展示

    上面这个是一个模型关联的图,其实我们很容易去理解 比如说,一对一,也就是说一个用户对应的是一个手机号. 一对多,比如说一篇文章可以有多条评论 一对多反向:如一篇文章可以有多条评论,但对应每条评论也只针 ...

  3. laravel模型关联:

    一对一hasOne(用户-手机号) 一对多has Many(文章-评论) 一对多反向belongsTo(评论-文章) 多对多belongsToMany(用户-角色) 远层一对多hasManyThrou ...

  4. laravel模型关联评论

    用户模型 public function show(Post $post,LogManager $log){ $post->load("comments"); //这种方式是 ...

  5. 「七天自制PHP框架」第四天:模型关联

    往期回顾:「七天自制PHP框架」第三天:PHP实现的设计模式,点击此处 原文地址:http://www.cnblogs.com/sweng/p/6624845.html,欢迎关注:编程老头 前阵子在网 ...

  6. Laravel 模型事件入门

    Laravel 模型事件允许你监听模型生命周期内的多个关键点,甚至可以在阻止一个模型的保存或者删除. Laravel 模型事件文档 概述了如何使用钩子将对应事件与相关的事件类型关联起来,但是本文的主旨 ...

  7. TP5模型关联问题

    在使用模型关联时:假如有表   merchant商户表   m_store 店铺表  m_store_ref 商户店铺关联表  user 普通用户表 $mer = Merchant::with([ ' ...

  8. 关于THINKPHP5模型关联的初步理解

    初步理解的意思是,使用最常用的关联模型,然后可以正常运行 还是打个比方 文章表  和文章分类表 一个文章分类可以有多个文章  所以  文章分类模型和文章建立 hasMany的关联 而文章和文章分类表则 ...

  9. TP3.1 一对多模型关联

    TP3.1.3 的一对多的模型关联 老需求 --- 一个用户多个文章,查看这些文章   HasMany 首先定义Model 模型名字叫UserMode.class.php class UserMode ...

随机推荐

  1. 一步一步学Silverlight 2系列(27):使用Brush进行填充

    概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...

  2. UUIDUtils

    package com.cc.hkjc.util; import java.util.UUID; /** * 字符串工具类 *  * @author:匿名 *  */public class UUID ...

  3. module+standard library.py

    #导入模块 import sys sys.path sys.path.append('D:\program files\Python34\PyWorks') #hello.py文件路径 #不用appe ...

  4. 通过HttpservletRequest对象获取客户端的真实IP地址

    这篇文章主要介绍了Java中使用HttpRequest获取用户真实IP地址,使用本文方法可以避免Apache.Squid.nginx等反向代理软件导致的非真实IP地址,需要的朋友可以参考下 在JSP里 ...

  5. CCRect 构造函数的几个参数解释

    转自: http://blog.163.com/hzklclick_wy/blog/static/21550517520137139511839/     void CCRect::setRect(f ...

  6. laravel的核心概念:服务提供者provider解析

    我们知道laravel和核心就是一个IoC容器, 被称之为服务容器. 那么作为IoC容器, 就必须要有绑定对象生成器的工作.  在laravel中是服务提供者来项服务容器中绑定对象生成器的. 百牛信息 ...

  7. mysql负载均衡方案

    mysql负载均衡方案 一.直接连接 数据库的读写分离方案很多,这里介绍基于mysql数据库的读写分离方案. 比较常见的读写分离方案如下: 1 基于查询分离 最简单的分离方法是将读和写分发到主和从服务 ...

  8. Code-zabbix:zabbix-3.4-快速入门

    ylbtech-Code-zabbix:zabbix-3.4-快速入门 1.返回顶部 1. 1 登陆和配置用户 登陆Zabbix,以及在Zabbix内建立一个系统用户. 用户名:Admin 或者 ad ...

  9. 常用的Ant风格书写

    原文地址 Ant风格,为请求路径的一种匹配方式 通配符 说明 ? 匹配任意一个字符 * 匹配任意字符(包括0个) **  匹配任意层路径(包括0个) 支持Ant风格 1.spring资源加载 clas ...

  10. input required字段;django input输入框不填写会自动变红如何修改

    前端页面中,input不输入任何内容时,点击submit时,未填写的input会标红框,有些人还会有"该字段必填的字样"!! 什么鬼,你妹的,js也见不到,css3动画也见不到,怎 ...