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在线生成ico文件的代码
Oct 09 PHP
php radio 单选框获取与保持值的实现代码
May 15 PHP
php join函数应用
May 04 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
Jul 03 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
Jul 30 PHP
PHP动态输出JavaScript代码实例
Feb 12 PHP
smarty高级特性之过滤器的使用方法
Dec 25 PHP
PHP Cookei记录用户历史浏览信息的代码
Feb 03 PHP
yii2安装详细流程
May 23 PHP
PHP使用SMTP邮件服务器发送邮件示例
Aug 28 PHP
PHP7 echo和print语句实例用法
Feb 15 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
Dec 30 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运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
PHP数据过滤的方法
2013/10/30 PHP
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
利用jquery操作select下拉列表框的代码
2010/06/04 Javascript
Jquery读取URL参数小例子
2013/08/30 Javascript
12种JavaScript常用的MVC框架比较分析
2015/11/16 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
2016/03/25 Javascript
AngularJS控制器之间的数据共享及通信详解
2016/08/01 Javascript
Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
2017/03/27 Javascript
详谈js模块化规范
2017/07/07 Javascript
webpack配置sass模块的加载的方法
2017/07/30 Javascript
Angular4学习笔记之根模块与Ng模块
2017/09/09 Javascript
深入理解Node.js中通用基础设计模式
2017/09/19 Javascript
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
webpack项目调试以及独立打包配置文件的方法
2018/02/28 Javascript
使用JavaScript实现node.js中的path.join方法
2018/08/12 Javascript
vue2过滤器模糊查询方法
2018/09/16 Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
2019/08/29 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
jQuery实现动态操作table行
2020/11/23 jQuery
flask框架中勾子函数的使用详解
2018/08/01 Python
python实现大文件分割与合并
2019/07/22 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
Django contrib auth authenticate函数源码解析
2020/11/12 Python
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
自我鉴定书范文
2013/10/02 职场文书
运动会广播稿200字
2014/01/15 职场文书
目标责任书范本
2014/04/16 职场文书
企业法律事务工作总结
2015/08/11 职场文书
golang 实现菜单树的生成方式
2021/04/28 Golang
基于Redis结合SpringBoot的秒杀案例详解
2021/10/05 Redis
24年收藏2000多部退役军用电台
2022/02/18 无线电
Python数据结构之队列详解
2022/03/21 Python
Python OpenGL基本配置方式
2022/05/20 Python