为了让初学者更容易理解,本文写的比较详细,所以如果你已是技术大拿,请直接绕过,以免浪费你的宝贵时间,谢谢。
在ThinkPHP开发中我们经常会用到模板输出,比如说在模板中输出记录集等,其中ThinkPHP中有个自带的模板遍历标签 volist ,通常我们可以用 volist 标签去遍历记录,当然在实际开发中,我们可能会用到这样的场景,比如说头条网站的评论功能,如下图:
为了演示,我就随便从头条文章里截了个评论区的图片,从上图可以看到,一个是楼主的评论,还有其他网友回复楼主的评论。这里涉及到两次遍历,我们先要输出楼主对文章的评论,然后再输出其他网友对楼主的回复,下面我们就先输出楼主对文章的评论。
查询语句:
模板 volist 遍历:
这样就把楼主对文章的评论输出来了,那么其他网友对楼主的回复要怎么输出呢,从头条的评论区截图中可以看到,其他网友对楼主的回复是在楼主的下面,也就是说,我们要在输出楼主对文章评论的时候就去查询有没有网友对楼主的回复,如果有就输出,没有就不输出。
因为ThinkPHP查询记录的时候返回的结果是数组形式的,那么我们要实现查询楼主对文章评论的同时查询网友对楼主的回复可以这样写:
从上面的查询语句中可以看到,我们在查询楼主对文章回复的时候,利用 foreach 方法进行了一次遍历,然后去获取楼主id,再按获取的楼主id去查询网友对楼主的回复,再把查询到的结果保存到 reply 这个数组中,那我们在模板中就这样输出:
这样就利用 volist 标签实现了类似头条评论的效果。
谢谢你的阅读,如果你有更好的方法或在应用过程中遇到问题可以在评论区提问或者直接私信我,我会定期回复,码农刘小桥与你一起学习,共同进步。