thinkphp5里面 使用where('id',$id)->select()查询一条记录,在视图页面出错

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zzh_meng520/article/details/59529255

今天在用tp5写代码的时候,遇到一个问题,代码如下:

$id=$_GET['id'];  
$list = Db::view('records','id,name,remark,createtime')
                ->view('section',['name'=>'secname','id'=>'sid'],'records.sectionid=section.id')
                ->where('records.id',$id)
               ->select();
在以前使用原生代码查询的时候,查询记录为一条时,在视图页面输出并不用循环输出。

所以我在页面输出该条记录时并没有使用volist进行循环输出,系统报错。

后来通过查找资料,明白了select()和find()的区别,才找到错误原因。


find()与 select() 的不同之处在于,find() 返回的是一个一维数组,可以在模板里直接输出数组单元的值而无需使用 volist 等标签循环输出;且find() 查询出来的始终只有一条数据,即系统自动加上了 LIMIT 1 限制。

直接像这样输出就可以了。

{$list['username']}


而select()不管查询出来的记录是一条还是多条,在页面输出时必须使用volist进行循环输出。


以上,又是今天遇到的一个坑。

展开阅读全文

没有更多推荐了,返回首页