ThinkPHP查询返回简单字段数组的方法

本文实例讲述了ThinkPHP查询返回简单字段数组的方法,是ThinkPHP程序设计中一个很实用的功能。具体方法如下:

通常来说使用select语句。返回的都是结构较复杂的字段数组。如以下是一个简单的查询:

$map['parentid'] = $id;
$sub_ids = D('Category')->where($map)->field("catid")->select();

查询后,得到的结果是:

[{"catid":"23"},{"catid":"24"},{"catid":"25"},{"catid":"26"},{"catid":"27"},{"catid":"28"},{"catid":"29"},{"catid":"30"}]

从结构就看出这是结构较复杂的数组,其元素是一个map。
若我们仅仅是需要一个简单的,只包含数字段元素的数组,可以使用以下方法:

$sub_ids = D('Category')->where($map)->getField('catid',true);

查询后,得到的结果是:

["23","24","25","26","27","28","29","30"]

查询结果立刻清晰明朗了很多!

希望本文所述方法对于大家ThinkPHP的学习能有所帮助。

(0)

相关推荐

  • thinkPHP简单实现多个子查询语句的方法

    本文实例讲述了thinkPHP简单实现多个子查询语句的方法.分享给大家供大家参考,具体如下: sql语句博大精深 理解好sql语句,就能用好thinkphp等框架中的数据库操作 原sql: SELECT a.*,b.* from (SELECT a.id as opener_id,a.name,sum(c.money) as bonus_money,c.year,c.month from sh_opener a LEFT JOIN sh_opener_bonus b on a.id = b.op

  • ThinkPHP中关联查询实例

    本文实例讲述了ThinkPHP中关联查询的用法.分享给大家供大家参考.具体分析如下: 在THINKPHP中关联查询(多表查询)可以使用 table() 方法或和join方法,如下示例所示: 1.table() 复制代码 代码如下: $list = $user->table('user_status stats, user_profile profile')->where('stats.id = profile.typeid')->field('stats.id as id, stats.

  • ThinkPHP采用GET方式获取中文参数查询无结果的解决方法

    在用ThinkPHP做tags标签的时候,出现了一个问题,就是能获取到参数,但是查不出相应的结果.查看数据库发现数据是存在的.问题出在哪了呢? 形如http:/www.XXXX.com/tags/index/%E8%87%AA%E5%8A%A8%E9%AA%8C%E8%AF%81.html的调用 参数是经过urlencode()编码了的,使用urldecode()函数进行解码,再进行查询仍然没有结果. 紧接着测试转换编码iconv()函数,结果成功了. 浏览器默认的编码是GB2312的,而这个项

  • thinkphp实现like模糊查询实例

    本文实例讲述了thinkphp实现like模糊查询的方法,分享给大家供大家参考.具体实现方法如下: 目前使用thinkphp框架进行项目开发的人越来越多了,由于其封装性较好,导致了很多纯PHP开发的部分不易上手,本文实例即以like模糊查询为例对此加以说明. 这里主要通过举例来说明用法: ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用索引数组或者对象来作为查询条件,因为会更加安全. 一.使用字符串作为查询条件 这是最传统的方式,但是安全性不高, 例如: 复制代码 代码

  • thinkphp的CURD和查询方式介绍

    对数据的读取 Read 复制代码 代码如下: $m=new Model('User'); $m=M('User'); select $m->select();//获取所有数据,以数组形式返回 find $m->find($id);//获取单条数据 getField(字段名)//获取一个具体的字段值 $arr=$m->where('id=2')->getField('username'); 三.ThinkPHP 3 创建数据    (重点) 对数据的添加 Create 复制代码 代码

  • thinkphp学习笔记之多表查询

    在操作过程中,两表查询都没有问题,但是三表查询就开始出现问题 有以下三张表,分表为pl表(uid,content),user表(id,username),lyb表(uid,title) 多表查询操作有以下几种方法: ㈠视图模型(推荐) 定义视图模型,只需要继承Think\Model\ViewModel,然后设置viewFields属性即可 public $viewFields = array( 'pl' =>array('uid','rid','content'), 'user' =>arra

  • ThinkPHP视图查询详解

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

  • thinkphp数据查询和遍历数组实例

    本文实例讲述了thinkphp数据查询和遍历数组的方法.分享给大家供大家参考.具体方法如下: 数据库可以使用DSN方法进行配置: 复制代码 代码如下: 'DB_PREFIX'=>'tp_',  //设置表前缀 'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp',//使用DSN方式配置数据库信息 如果两种方式同时存在,以DSN方式为优先,还有一种简单实用模型的方式. M() 等效为 new Model(); 复制代码 代码如下: $m=M('Use

  • ThinkPHP多表联合查询的常用方法

    ThinkPHP中关联查询(即多表联合查询)可以使用 table() 方法或和join方法,具体使用如下例所示: 1.原生查询示例: 复制代码 代码如下: $Model = new Model(); $sql = 'select a.id,a.title,b.content from think_test1 as a, think_test2 as b where a.id=b.id '.$map.' order by a.id '.$sort.' limit '.$p->firstRow.',

  • ThinkPHP查询语句与关联查询用法实例

    本文实例讲述了ThinkPHP查询语句与关联查询用法.分享给大家供大家参考.具体如下: 在thinkphp框架页面中我们可以直接拼写sql查询语句来实现数据库查询读写操作,下面就对此加以实例说明. 普通查询除了字符串查询条件外,数组和对象方式的查询条件是非常常用的,这些是基本查询所必须掌握的. 一.使用数组作为查询条件 复制代码 代码如下: $User = M("User"); //实例化User对象 $condition['name'] = 'thinkphp'; // 把查询条件传

  • Thinkphp使用mongodb数据库实现多条件查询方法

    有个项目用了mongodb数据库,查询条件有and也有or,按Thinkphp官方手册,使用复合查询(_complex),getLastSql输出查询语句,发现查询条件是空的.用字符串模式查询(_string),请求字符串查询(_query)无法满足需求.估计用mongodb的用户不多,thinkphp官方对这方面支持也不够.打开thinkphp的mongodb驱动,Thinkphp/Extend/Driver/Db/DbMongo.class.php,找到protected function

  • ThinkPHP中的常用查询语言汇总

    本文实例汇总了ThinkPHP中的常用查询语言,供大家参考之用.相信能给大家ThinkPHP开发带来一定的帮助.具体如下: 一.普通查询: 在查询带入where条件等,最少有三种形式 1.字符串形式: 'id>5 and id<9' 2.数组形式: 示例代码如下: $user=M('user'); $data['username']='liwenkai'; $list=$user->where(array('username'=>'liwenkai'))->select();

随机推荐