zoukankan      html  css  js  c++  java
  • PHP无限级评论回复功能实现

    protected  function commentList($aid,$pid = 0,&$result=array()){
    $arr = ArticleComment::relation(['usertalent'=> function($query){
    $query->field('id,talent_usernickname,talent_avatar');
    }])->where(['pid' => $pid])->where(['article_id' => $aid])->order('id desc')->select();
    if(empty($arr)){
    return array();
    }
    foreach ($arr as $cm) {
    $thisArr=&$result[];
    $cm["children"] = $this->commentList($aid,$cm["id"],$thisArr);
    $thisArr = $cm;
    }
    return $result;
    }

    调用方法
    $this->commentList($aid);

    项目中使用tp5写文章评论回复功能
    表中使用pid来标识回复表的id 表结构如下

    CREATE TABLE `bcpub_article_comment` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
    `author_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '作者ID',
    `article_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '文章ID',
    `pid` int(11) unsigned NOT NULL DEFAULT '0',
    `uid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '评论人ID',
    `comment` varchar(250) NOT NULL DEFAULT '',
    `give_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '评论点赞数量',
    `add_time` int(10) unsigned NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`),
    KEY `author_id` (`author_id`),
    KEY `pid` (`pid`)
    ) ENGINE=MyISAM AUTO_INCREMENT=97 DEFAULT CHARSET=utf8 COMMENT='文章评论表'

  • 相关阅读:
    MySQL快速入门
    关系模型
    从Qt到PyQt
    Qt 绘图与动画系统
    Django请求响应对象
    Django控制器
    Django模板
    第一个Django项目
    图的存储与遍历
    AOE网与AOV网
  • 原文地址:https://www.cnblogs.com/ccs-mxs/p/13973912.html
Copyright © 2011-2022 走看看