ThinkPHP学习笔记——数组形式的条件查询

本文介绍ThinkPHP中如何使用getField方法读取字段值及where方法进行数组查询,包括基本查询、表达式查询和复合查询示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、thinkphp中读取字段值

读取字段值其实就是获取数据表中的某个列的多个或者单个数据,最常用的方法是 getField方法。

实例如下:
$User = M("User"); // 实例化User对象

// 获取ID为3的用户的昵称

 $nickname = $User->where('id=3')->getField('nickname');
如果需要返回整个列的数据,可以用:
$User->getField('id',true); // 获取id数组//返回数据格式如array(1,2,3,4,5)一维数组,其中value就是id列的每行的值

2、where查询中数组查询:

①、普通查询:

$User = M("User"); // 实例化User对象

$map['name'] = 'thinkphp';

$map['status'] = 1;

// 把查询条件传入查询方法

$User->where($map)->select(); 

最后生成的SQL语句:

SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1

②、表达式查询

上面的查询条件仅仅是一个简单的相等判断,可以使用查询表达式支持更多的SQL查询语法,查询表达式的使用格式:

$map['字段1']  = array('表达式','查询条件1');

$map['字段2']  = array('表达式','查询条件2');

$Model->where($map)->select(); // 也支持

表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是:

表达式  含义EQ      等于(=)NEQ 不等于(<>)GT 大于(>)EGT 大于等于(>=)LT 小于(<)ELT 小于等于(<=)LIKE 模糊查询[NOT] BETWEEN (不在)区间查询[NOT] IN (不在)IN 查询EXP 表达式查询,支持SQL语法

二者结合就是,将getFiled得到的数组(形式)、放置于where条件查询

 $rs_info = M('table_name')->where($where)->getField('id',true);

 $where_class['class_id'] = array('in', $rs_info);
 
 $rs2_info = M('table2_name')->where($where_class)->select();

$rs_info为通过getField()得到的数组形式的结果集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值