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读写文件的方法(生成HTML)
Nov 27 PHP
一个php导出oracle库的php代码
Apr 20 PHP
php开发文档 会员收费1期
Aug 14 PHP
PHP创建桌面快捷方式的实例代码
Feb 17 PHP
php对称加密算法示例
May 07 PHP
php生成随机密码自定义函数代码(简单快速)
May 10 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
Aug 19 PHP
php堆排序实现原理与应用方法
Jan 03 PHP
php curl登陆qq后获取用户信息时证书错误
Feb 03 PHP
Codeigniter检测表单post数据的方法
Mar 21 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
Mar 25 PHP
PHP检测一个数组有没有定义的方法步骤
Jul 20 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
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
2019/01/18 星际争霸
PHP新手上路(十)
2006/10/09 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
2019/10/17 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
js对数字的格式化使用说明
2011/01/12 Javascript
快速排序 php与javascript的不同之处
2011/02/22 Javascript
Extjs4 GridPanel 的几种样式使用介绍
2013/04/18 Javascript
js子页面获取父页面数据示例
2014/05/15 Javascript
JavaScript中的getMilliseconds()方法使用详解
2015/06/10 Javascript
JS中跨页面调用变量和函数的方法(例如a.js 和 b.js中互相调用)
2016/11/01 Javascript
Vue开发之封装分页组件与使用示例
2019/04/25 Javascript
JS实现的排列组合算法示例
2019/07/16 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
2020/08/10 Javascript
基于JS实现操作成功之后自动跳转页面
2020/09/25 Javascript
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
Python如何调用JS文件中的函数
2019/08/16 Python
python3连接mysql获取ansible动态inventory脚本
2020/01/19 Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
2020/02/27 Python
Jupyter notebook如何修改平台字体
2020/05/13 Python
python算的上脚本语言吗
2020/06/22 Python
matplotlib教程——强大的python作图工具库
2020/10/15 Python
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
Sandro法国官网:法国成衣品牌
2019/08/28 全球购物
Optimalprint加拿大:在线打印服务
2020/04/03 全球购物
产品工艺师的岗位职责
2013/11/15 职场文书
费用会计岗位职责
2014/01/01 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
基层干部个人对照检查及整改措施
2014/10/28 职场文书
机关保密工作承诺书
2015/05/04 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书
【海涛dota解说】一房久违的影魔魂守二连发
2022/04/01 DOTA
讨论nginx location 顺序问题
2022/05/30 Servers