ThinkPHP之getField详解_php实例

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相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索thinkphp
getField
thinkphp getfield、thinkphp3.2 getfield、thinkphp5 getfield、thinkphp的getfield、thinkphp getfieldby,以便于您获取更多的相关知识。

时间: 2024-12-29 23:23:30

ThinkPHP之getField详解_php实例的相关文章

ThinkPHP惯例配置文件详解_php实例

ThinkPHP的系统内置有一个惯例配置文件(位于系统目录下面的Conf\convention.php),按照大多数的使用对常用参数进行了默认配置.本文对惯例配置文件作出注释详解如下,供大家参考: <?php /** +------------------------------------------------------------------------------ * ThinkPHP惯例配置文件 * 该文件请不要修改,如果要覆盖惯例配置的值,可在项目配置文件中设定和惯例不符的配置项

ThinkPHP视图查询详解_php实例

ThinkPHP提供的视图查询应用功能十分强大,用户利用视图查询功能可以将多个数据表的字段内容按需要进行指定和筛选,组织成一个基于这些数据表的视图模型,然后就可以通过该模型直接进行多表联合查询,非常方便和简单. 例如在项目中,我们定义有三个表: user          用户基础表, user_info   用户详细信息表, dept          部门分类表 现在我们需要获取某个用户信息, 该信息要包括用户的帐号名称和相关资料与及所在部门的名称, 这时候我们可以利用视图查询进行处理. 下

thinkphp缓存技术详解_php实例

本文详细分析了thinkphp的缓存技术.分享给大家供大家参考.具体分析如下: 如果没有缓存的网站是百万级或者千万级的访问量,会给数据库或者服务器造成很大的压力,通过缓存,大幅减少服务器和数据库的负荷,假如我们把读取数据的过程分为三个层,第一个是访问层,第一个是缓存层,第三个是数据库存取层,如果没有缓存层,访问层是直接从数据库存取层读取数据,而设置缓存后,访问层不再是直接在数据库存取层读取,而是从缓存层读取数据. 我们做个简单的对比,假设一个页面,在一个小时可被访问100万次,如果这个页面每次被

thinkPHP中钩子的两种配置调用方法详解_php实例

本文实例讲述了thinkPHP中钩子的两种配置调用方法.分享给大家供大家参考,具体如下: thinkphp的钩子行为类是一个比较难以理解的问题,网上有很多写thinkphp钩子类的文章,我也是根据网上的文章来设置thinkphp的钩子行为的,但根据这些网上的文章,我在设置的过程中,尝试了十几次都没有成功,不过,我还是没有放弃,最后还是在一边调节细节,一边试验的过程中实现了钩子行为的设置.下面是我个人的设置经验,在这里跟大家分享一下. 个人做了两种设置,都试验成功了,一个简单点,在thinkphp

ThinkPHP的I方法使用详解_php实例

ThinkPHP的I方法是众多单字母函数中的新成员,其命名来自于英文Input(输入),主要用于更加方便和安全的获取系统输入变量,可以用于任何地方,用法格式如下:I('变量类型.变量名',['默认值'],['过滤方法']) 变量类型是指请求方式或者输入类型. 各个变量类型的含义如下: 变量类型 含义 get 获取GET参数 post 获取POST参数 param 自动判断请求类型获取GET.POST或者PUT参数 request 获取REQUEST 参数 put 获取PUT 参数 session

Zend Framework入门应用实例详解_php实例

本文实例讲述了Zend Framework入门应用.分享给大家供大家参考,具体如下: .htaccess文件 .htaccess文件用来实现URL重置,即当用户访问某资源时,会将其重新定位到指定的文件下. 代码示例: RewriteEngine on RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php 其中,行1表示重置引擎打开,行2表示当访问除js.ico.gif.jpg.png.css以外的文件时, 都将被重置到index.php文件下. 注

thinkPHP数据库增删改查操作方法实例详解_php实例

本文实例讲述了thinkPHP数据库增删改查操作方法.分享给大家供大家参考,具体如下: thinkphp对数据库增删改查进行了封装操作,使得使用更加方便,但是不一定灵活. 可以用封装的用,需要写sql,可以执行sql. 1.原始的 $Model = new Model(); // 实例化一个model对象 没有对应任何数据表 $insert_sql = "INSERT INTO sh_wxuser_collection (user_id,store_id,good_id,addtime) VAL

ThinkPHP模板比较标签用法详解_php实例

ThinkPHP模板引擎提供了丰富的比较标签,其用法格式为: <比较标签 name="变量" value="值">内容</比较标签> ThinkPHP系统支持的比较标签及其所表示的含义分别是: eq或者 equal:等于 neq 或者notequal:不等于 gt:大于 egt:大于等于 lt:小于 elt:小于等于 heq:恒等于 nheq:不恒等于 1.比较标签的用法基本是一致的,区别在于判断的条件不同. 如eq标签: <eq na

ThinkPHP中session函数详解_php实例

在PHP中使用$_SESSION来操作session,而ThinkPHP提供了session的封装函数session().单单这一个函数就实现了session的增删改查的功能.下面我们分别来看其应用与实现. 该session()函数的定义是在Common/functions.php中定义. session配置 session($name='',$value='')函数有两个参数,$name为数组的时候是对session进行设置.使用如下: $name = array( 'name'=>'name