后台效果预览:
一、表设计如下:
///评论表SQL
CREATE TABLE `web_comment` (
`com_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '评论id',
`parent_com_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '评论父id',
`com_title` varchar(40) NOT NULL DEFAULT '' COMMENT '评论昵称',
`com_email` varchar(100) NOT NULL DEFAULT '' COMMENT '评论联系邮箱',
`com_content` varchar(255) NOT NULL DEFAULT '' COMMENT '评论内容',
`com_reply_status` int(2) NOT NULL DEFAULT '0' COMMENT '评论回复状态:0未回复,1已回复',
`com_show_status` int(2) NOT NULL DEFAULT '0' COMMENT '评论展示状态:0未审核、1审核通过、2审核不通过',
`com_ip` char(20) NOT NULL DEFAULT '' COMMENT '评论ip',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`com_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='评论表';
二、获取数据代码如下
<?php
namespace app\back\model;
use think\Db;
///留言表
class CommentModel
{
/// 用于存放子级数据
private $child = [];
///获取评论数据
public function getCommentData(){
$top_map = [
'parent_com_id' => 0
];
///获取一级评论数据{desc最新的评论显示在顶部}
$top_comment_data = Db::table('web_comment')->alias('b')->where($top_map)->order('b.com_show_status asc,b.com_reply_status asc,b.update_time desc')->column('b.com_id,b.parent_com_id,b.com_title,b.com_email,b.com_content,b.com_reply_status,b.com_show_status