zoukankan      html  css  js  c++  java
  • thinkphp获取特定字段的两种方法

    thinkphp getField( )和field( )

    2014年10月05日 ⁄ 综合 ⁄ 共 1509字 ⁄ 字号    ⁄ 评论关闭

            做数据库查询的时候,比较经常用到这两个,总是查手册,记不住,现在把它总结下,希望以后用的时候不查手册了。

            不管是用select 查询数据集,还是用find 查询数据,常配合连贯操作where、field、order等一起使用。

            field():用于定义要查询的字段(支持字段排除)

            用法:field($field , $except=false)  

            参数:$field —— 字段名,要查询的字段名; 

                        $except —— 是否排除,默认为false,省略不写;如果为true,表示定义的字段为数据表中排除$field参数定义之外的所有字段

            返回值:当前的模型实例

            注:不调用field方法,默认返回所有字段,和field( '*' )等效。

            需要显式的传入所有的字段,可以使用下面的方法:

            $model -> field(true) ->select() ;

            但是建议只获取需要显式的字段名,或者采用字段排除方式来定义,例如:

            $model ->field( 'status' , true) ->select();    //获取除了status之外的所有字段

            $model ->field( 'id','nickname')->select();  //获取id和nickname字段

            getField():用于查询某个字段的值

            用法:getField($field, $sepa=null)

            参数:$field —— 要获取的字段字符串(多个用逗号分隔)

                        $sepa —— 字段数据间隔符号,如果是 NULL返回数组为数组。默认为null

            返回值:如果查询结果为空返回null,如果field是一个字段则返回该字段的值,如果field是多个字段,返回数组。数组的索引是第一个字段的值,sepa为null则返回二维数组。

            示例:当只有一个字段的时候,默认返回一个值。

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

            示例:如果需要返回数组:

    $this->getField('id',true); // 获取id数组
    

            示例:如果传入多个字段的话,默认返回一个关联数组,

                        返回的list是一个数组,键名是用户的id, 键值是用户的昵称nickname。

    $User = M("User"); // 实例化User对象
    // 获取所有用户的ID和昵称列表 
    $list = $User->getField('id,nickname');

             示例:如果传入多个字段的名称,例如:

    $list = $User->getField('id,nickname,email');
    

            它返回的是一个二维数组,类似select方法的返回结果,区别的是这个二维数组的键名是用户的id(准确的说是:getField方法的第一个字段名)。

            示例:如果我们传入一个字符串分隔符:

    $list = $User->getField('id,nickname,email',':');
    

    那么返回的结果就是一个数组,键名是用户id,键值是 nickname:email的输出字符串。

            另外:sepa参数还可以支持限制数量,可以配合使用order方法使用。例如:

    $this->getField('id,name',5); // 限制返回5条记录
    $this->getField('id',3); // 获取id数组 限制3条记录
  • 相关阅读:
    新概念第二册(1)--英语口语听力课1
    外企面试课程(一)---熟悉常见的缩略词
    公司 邮件 翻译 培训 长难句 结课
    workflow
    公司 邮件 翻译 培训 长难句 20
    公司 邮件 翻译 培训 长难句 19
    Engineering Management
    公司 邮件 翻译 培训 长难句 18
    公司 邮件 翻译 培训 长难句 17
    第14.5节 利用浏览器获取的http信息构造Python网页访问的http请求头
  • 原文地址:https://www.cnblogs.com/Shjergsen/p/5076591.html
Copyright © 2011-2022 走看看