当前位置: >首页>新闻列表>惠州网站建设,在tp6中的volist使用遇到的问题
tp6就是thinkphp6的简写。目前广泛用于网站的开发,尤其是作为一些大型站点的api开发上。在国内,很的系统上都会用到这个系统。受众也是蛮大的,今天就说说这个框架在开发的时候,模板端调用volist显示的错误和解决方案。
volist众所周知就是tp6在模板遍历的时候,用到的变量。volist一般用来遍历数组或者对象用的。常用于查询到的结果,显示到模板上。先看代码:
$member=Db::name('member');
$memberdata=$member->where("id",=,'1')->find();
$this->assign("memberdata",$memberdata);
上面是逻辑端的代码,主要功能就是将数据库的member表里面的数据查询出来。
其中用到的find()这个方法,其实还有一个select()的方法。
find的作用就是在数据库中取一条记录。select() 主要是取符合select的数据。也就是说,符合where里面的记录。
this->assign主要就是将控制器的数据,显示到模板中,只有这样写了之后,模板才能读取到memberdata这个数据里面的值。
既然这个问题搞清楚之后,那么select()和find()该怎么用呢?
一般情况下select主要用于显示列表的收,也就是像新闻页面,产品列表页面。当然,分页的话,这里也会用到。这里也要将分页考虑进去。
find的主要应用场景就是查询具体某一个新闻,某一个产品的时候可以用到。当然,有时候,比如你注册一个网页的时候,要用来查询这个数据是否存在。这个速度会比select快。
惠州网站建设在建站的时候,发现如果你要用volist来做模板调用的话,只能用select查询出来的记录上。也就是说,上面哪个例子的find要改成select,否则的话,你在volist上用的select就会报错。
那么我们现在来记录讲解下volist。同样的,我们先看看代码。
{volist name="memberdata" id="vo"}
<span>你的会员名字是{$vo.username}</span>
{/volist}
这里有两点要注意的,第一个就是volist前面的是大括号,如果你用<这个的话,在tp6中就会报错,说$vo未定义。在其他的tp中,有些版本是要求将 volist前面写成<这样的。但是在tp6中,哪个写法会报错。
第二个问题就是,name里面的memberdata是没有$符号的,而vo在输出参数的时候,又有这个$。
虽然知识点不多,但是,对新手来说,这些都是坑。有时候,一个符号能搞你半天时间。这样的一说视乎很简单,又很容易懂似的。但是这些都是在显示中碰到的坑。
来源:快速仿站 惠州网站建设