上一篇文章讲解“模型-查询范围”,本篇文章讲解“模型-数组访问和转换”。
1. 数组转换
模型对象支持数组方式访问,例如:
新建Index控制器,并新建arrAccess方法,在方法中以数组形式访问。
![](https://ask.qcloudimg.com/http-save/developer-news/g58l5qaqsy.jpeg?imageView2/2/w/1620)
浏览器访问(需要新建User模型):
![](https://ask.qcloudimg.com/http-save/developer-news/eyqu1z70y2.jpeg?imageView2/2/w/1620)
查看数据库
![](https://ask.qcloudimg.com/http-save/developer-news/tenovqmumc.jpeg?imageView2/2/w/1620)
2. 转换为数组
1)toArray方法的使用
可以使用toArray方法将当前的模型实例输出为数组。
在Index控制器中新建transformArr方法
![](https://ask.qcloudimg.com/http-save/developer-news/r3tjj66i44.jpeg?imageView2/2/w/1620)
浏览器访问
![](https://ask.qcloudimg.com/http-save/developer-news/uf0a3i9syi.jpeg?imageView2/2/w/1620)
注意:
1. 查询单条或多条数据均可转换。
2)设置不输出的字段属性——hidden
在Index控制器中新建nonAtt方法
![](https://ask.qcloudimg.com/http-save/developer-news/qa3r22re0o.jpeg?imageView2/2/w/1620)
浏览器访问
![](https://ask.qcloudimg.com/http-save/developer-news/1rep99u1ct.jpeg?imageView2/2/w/1620)
注意:
1. hidden只针对单条数据。
3)数组输出的字段值会经过获取器的处理,也可以支持追加其它获取器定义(不在数据表字段列表中)的字段。——append
在User模型中新建获取器
![](https://ask.qcloudimg.com/http-save/developer-news/h7iyatd35y.jpeg?imageView2/2/w/1620)
在Index控制器中,新建appendAttr方法,输出数组
![](https://ask.qcloudimg.com/http-save/developer-news/ze5irjyk1j.jpeg?imageView2/2/w/1620)
浏览器访问
![](https://ask.qcloudimg.com/http-save/developer-news/yd9qavkwqf.jpeg?imageView2/2/w/1620)
注意:
1. append只针对单条数据。
4)设置允许输出的属性——visible
在Index控制器中新建output方法
![](https://ask.qcloudimg.com/http-save/developer-news/l6jrdc7mw6.jpeg?imageView2/2/w/1620)
浏览器访问
![](https://ask.qcloudimg.com/http-save/developer-news/9jo4r3nogf.jpeg?imageView2/2/w/1620)
5)数据集转为数组
在Index控制器中新建dataArr方法
![](https://ask.qcloudimg.com/http-save/developer-news/nxx3iyh3lt.jpeg?imageView2/2/w/1620)
浏览器访问
![](https://ask.qcloudimg.com/http-save/developer-news/vj42efueho.jpeg?imageView2/2/w/1620)
ThinkPHP5连载为卓象程序员原创,转载请联系卓象程序员
关注卓象程序员,定期发布技术文章