ThinkPHP之getField详解


Posted in PHP onJune 20, 2014

getField方法是ThinkPHP中用来获取字段值的方法,区别于select和find方法,通常仅用于获取个别字段的值。但是事实上并没有那么简单,现将该方法的用法总结如下:

1.获取某个字段值

这个是getField方法最基本的用法,用于获取符合条件的某个字段值。

$User = M("User"); // 实例化User对象
 // 获取ID为3的用户的昵称 
$nickname = $User->where('id=3')->getField('nickname');

返回的nickname是一个字符串结果。也就是说,即使有满足条件的多个字段,也只会返回一个结果。

2.获取某个字段列

如果希望返回符合要求的字段列(多个结果),可以使用:

$User = M("User"); // 实例化User对象
 // 获取status为1的用户的昵称列表
$nickname = $User->where('status=1')->getField('nickname',true);

第二个参数传入了true,返回的nickname则是一个数组,包含了所有满足条件的昵称列表。

如果需要限制返回结果数量,可以使用:

$nickname = $User->where('status=1')->getField('nickname',8);

或者

$nickname = $User->where('status=1')->limit(8)->getField('nickname',true);

3.获取2个字段列表

如果希望获取满足条件的id和昵称列表,则可以使用:

$User = M("User"); // 实例化User对象
 // 获取status为1的用户的昵称列表
$nickname = $User->where('status=1')->getField('id,nickname');

如果getField方法传入多个字段名称的话,默认返回一个关联数组,以第一个字段的值为索引(所以第一个字段要尽量选择不会重复的)。
也可以限制返回数量,例如:

$nickname = $User->where('status=1')->getField('id,nickname',8);

或者

$nickname = $User->where('status=1')->limit(8)->getField('id,nickname');

4.获取多个字段列表

如果传入了2个以上的字段名,则返回一个二维数组(类似select方法的返回值,区别在于索引是二维数组的键名是第一个字段的值),例如:

$result = $User->where('status=1')->getField('id,account,nickname');

如果不希望返回二维数组,可以使用连接符,例如:

$result = $User->where('status=1')->getField('id,account,nickname',':');

那么返回的结果则是一个索引数组,键名是id值,键值则是account:nickname连接组成的字符串。

getField方法通常还可以配合连贯操作where、limit、order等一起使用。还有一些高级的用法,包括对join表的支持和sql方法的支持等。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
无数据库的详细域名查询程序PHP版(2)
Oct 09 PHP
PHP编程中字符串处理的5个技巧小结
Nov 13 PHP
php中使用DOM类读取XML文件的实现代码
Dec 14 PHP
php+iframe实现隐藏无刷新上传文件
Feb 10 PHP
用PHP即时捕捉PHP中的错误并发送email通知的实现代码
Jan 19 PHP
php中autoload的用法总结
Nov 08 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
May 10 PHP
php实现将上传word文件转为html的方法
Jun 03 PHP
PHP实现的文件上传类与用法详解
Jul 05 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
PHP实现负载均衡session共享redis缓存操作示例
Aug 22 PHP
php实现简易计算器
Aug 28 PHP
ThinkPHP之N方法实例详解
Jun 20 #PHP
ThinkPHP之R方法实例详解
Jun 20 #PHP
ThinkPHP之import方法实例详解
Jun 20 #PHP
ThinkPHP之A方法实例讲解
Jun 20 #PHP
ThinkPHP之M方法实例详解
Jun 20 #PHP
php实现的短网址算法分享
Jun 20 #PHP
ThinkPHP3.1之D方法实例详解
Jun 20 #PHP
You might like
深入php list()函数的详解
2013/06/05 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
php验证码实现代码(3种)
2015/09/07 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
2020/10/28 PHP
使用jquery实现div的tab切换实例代码
2013/05/27 Javascript
JS实现图片翻书效果示例代码
2013/09/09 Javascript
javascript实现复制与粘贴操作实例
2014/10/16 Javascript
使用node.js 制作网站前台后台
2014/11/13 Javascript
javascript引用赋值(地址传值)用法实例
2015/01/13 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
2017/02/21 Javascript
vue调用高德地图实例代码
2017/04/28 Javascript
JS组件系列之MVVM组件构建自己的Vue组件
2017/04/28 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
2017/08/18 Javascript
JS实现div模块的截图并下载功能
2017/10/17 Javascript
详解vue-router 命名路由和命名视图
2018/06/01 Javascript
微信小程序动态增加按钮组件
2018/09/14 Javascript
浅谈vuex actions和mutation的异曲同工
2018/12/13 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
vue keep-alive实现多组件嵌套中个别组件存活不销毁的操作
2020/10/30 Javascript
Python中使用第三方库xlutils来追加写入Excel文件示例
2015/04/05 Python
通过mod_python配置运行在Apache上的Django框架
2015/07/22 Python
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
神经网络理论基础及Python实现详解
2017/12/15 Python
python爬取天气数据的实例详解
2020/11/20 Python
医药工作者的求职信范文
2013/09/21 职场文书
商务专员岗位职责
2013/11/23 职场文书
会计学个人自荐信模板
2013/12/13 职场文书
《小鹰学飞》教学反思
2014/04/23 职场文书
教师批评与自我批评总结
2014/10/16 职场文书
硕士论文致谢范文
2015/05/14 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python
Python中json.dumps()函数的使用解析
2021/05/17 Python
python通过opencv调用摄像头操作实例分析
2021/06/07 Python