• laravel模型关联


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

    • 创建评论模型

    class Comment extends baseModel
    {
        public function post(){
            return $this->belongsTo('AppPost');
        }
    
        /**
         * notes: 评论所属用户
         * author: cible
         * time: 2018/12/4 上午8:44
         */
        public function user(){
            return $this->belongsTo('AppUser');
        }
    }
    • 增加评论

        public function comment(Post $post){
            $this->validate(request(),[
                'content'   => 'required|min:3'
            ]);
    
            $comment = new Comment();
            $comment->user_id   = Auth::id();
            $comment->content   = request('content');
            $post->comments()->save($comment);
    
            return back();
        }
    • 评论列表

    模型关联预加载(两种)  

    $books = AppBook::with('author')->get();
    $books->load('author','publisher');
    //实例
    $post->load('User');

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

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

    模型关联计数

    $posts = AppPost::withCount('comments')->get();
    //实例
    $lists = Post::orderBy('created_at','desc')->withCount('Comments')->paginate(5);

    //视图层
    {{$list->comments_count}}
  • 相关阅读:
    this 指向 及 调用方式
    页面布局上 左 右底部
    Thread Safety线程安全
    sql查删更
    LinuxMysql命令操作数据库
    excel链接sharepoint 用于 Excel 的 Microsoft Power Query
    W7无法更新
    发票点数计算
    sharepoint OWA问题解决
    zend studio 做前端推荐安装的插件
  • 原文地址:https://www.cnblogs.com/wanghaokun/p/10062191.html
Copyright © 2020-2023  润新知