1、条件查询
在查询条件里面,如果仅仅使用
$map‐>put('name','thinkphp');
查询条件应该是 name = 'thinkphp'
如果需要进行其它方式的条件判断,可以使用
$map‐>put('name',array('like','thinkphp%'));
这样,查询条件就变成 name like 'thinkphp%'
$map‐>put('id',array('gt',100));
查询条件 id > 100
$map‐>put('id',array('in','1,3,8'));
// 或者使用数组范围
$map‐>put('id',array('in',array(1,3,8)));
上面表示的查询条件都是 id in (1,3,8)
支持的查询表达式有EQ |NEQ |GT|EGT|LT |ELT |LIKE|BETWEEN|IN|NOT IN
3、区间查询
ThinkPHP 支持对某个字段的区间查询,例如:
$map‐>put('id',array(1,10)); // id >=1 and id<=10
$map‐>put('id',array('10′,'3′,'or')); //id >= 10 or id <=3
$map‐>put('id',array(array('neq',6),array('gt',3),'and')); // id != 6 and id > 3
4、组合查询
$map‐>put('id',array('neq',1));
$map‐>put('name','ok');
// 现在的条件是 id !=1 and name like '%ok%'
$map‐>put('_logic','or');
// 现在的条件变为 id !=1 or name like '%ok%'
5、多字段查询
ThinkPHP还支持直接对进行多字段查询的方法, 可以简化查询表达式和完成最复杂的查询方法, 例如:
$map‐>put('id,name,title',array(array('neq',1),array('like','aaa'),array('like','bbb'),'or'));
查询条件是 ( id != 1) OR ( name like 'aaa') OR ( title like '%bbb%')
如果结合上面的几种方式,我们可以写出下面更加复杂的查询条件
$map‐>put('id',array('NOT IN','1,6,9'));
$map‐>put('name,email',array(array('like','thinkphp'),array('like','liu21st'),'or'));
以上查询条件变成:( id NOT IN(1,6,9) ) AND ( ( name like 'aaa') OR ( title like '%bbb%') )
7、统计查询
// 获取用户数
$userCount = $User‐>count();
// 获取用户的最大积分
$maxScore = $User‐>max('score');
// 获取积分大于 0 的用户的最小积分
$minScore = $User‐>min('score','score>0');
// 获取用户的平均积分
$avgScore = $User‐>avg('score');
// 统计用户的总成绩
$sumScore = $User‐>sum('score');
8、定位查询
ThinkPHP 支持定位查询,可以使用getN 方法直接返回查询结果中的某个位置的记录。例如:
// 返回符合条件的第 2 条记录
$User‐>getN(2,'score>80','score desc');
还可以获取最后第二条记录
$User‐>getN(‐2,'score>80','score desc');
如果要查询第一条记录,还可以使用
$User‐>first('score>80','score desc');
// 获取最后一条记录
$User‐>last('score>80','score desc');
// 获取积分最高的前 5 条记录
$User‐>top(5,'','score desc');
ThinkPHP 还提供了另外一种动态查询方式,就是获取符合条件的前 N 条记录
例如,我们需要获取当前用户中积分大于 0,积分最高的前 5 位用户
$User‐>top5('score>0','*','score desc');
而在另外一个频道,我们需要获取点击最多的前 10 位主播
$Master‐>top10('','*','visit desc');
发表评论
-
Yaf框架安装指南
2018-06-29 15:44 621http://www.php.cn/php-weizij ... -
phpize是干嘛的 phpize的深入理解
2018-06-29 15:11 423安装(fastcgi模式)的时候,常常有这样一句命令:/usr ... -
php-cgi和php-fpm有什么关系
2018-06-20 16:43 520转:https://segmentfault ... -
php strip_tags 去HTML标记
2018-06-06 13:32 586只保留 p img 换行符 $c ... -
thinkphp3.2.3用redis3.0.7做session共享
2017-12-28 15:08 1029第一步:在主服务器(www服务器)和从服务器上安装red ... -
php 如何给关键词自动添加超链接
2017-02-24 13:04 738$string = "a a b b c c&qu ... -
php 去掉字符串的最后一个字符 及 截取
2016-10-26 16:48 785原字符串1,2,3,4,5,6, 去掉最后一个 ... -
php 获取月第一天和最后一天
2016-07-20 13:42 486PHP获取某一天前后任意时间 date(" ... -
PHP 过滤,替换 超链接
2014-06-09 14:19 678#过滤掉超链接 ereg_replace("&l ... -
PHP二维数组排序函数
2014-04-10 17:31 784#对二维数组进行排序,$keys就是要排序的键名, 第三参 ... -
一组PHP可逆加密解密算法
2014-04-10 17:20 664对于大部分密码加密,我们可以采用md5、sha1等方法。可以 ... -
php在linux系统下实现百度文库功能 doc或pdf转swf预览功能
2013-07-30 15:29 1502php在linux系统下实现百度文库功能 doc或pdf转s ... -
msql 只查年月日
2013-03-15 10:18 872msql 只查年月日 where TO_DA ... -
使用PHP+Sphinx建立高效的站内搜索引擎
2013-03-11 15:07 9011. 为什么要使用Sphinx 假设你现在运营 ... -
ThinkPHP模板运用指南
2012-10-18 10:44 1576使用例子: {$webTitle|md5|strtou ... -
文件夹不存在则创建
2012-10-10 16:25 0#文件夹不存在则创建 private function cr ... -
thinkPHP中CURD
2012-09-13 17:36 2435thinkPHP中CURD 一:thinkPHP中多 ... -
文件夹不存在则创建
2012-08-29 16:20 913#文件夹不存在则创建 private function cr ... -
test
2012-08-09 16:19 0DROP TABLE IF EXISTS `city`; ... -
TP 路由
2012-07-31 23:15 752/*路由定义*/ 'URL_ROUTE_RULES ...
相关推荐
在ThinkPHP中,数据库操作主要通过`Db`类进行,它可以执行SQL查询、事务处理等。在进行数据库备份前,我们需要先配置好数据库连接,这通常在`config.php`文件中完成,包括数据库类型、服务器地址、用户名、密码和...
ThinkPHP数据库常见查询
在Thinkphp中,我们可以利用内置的数据库工具或者第三方库来实现这一目标。 1. **Thinkphp内置备份功能**:Thinkphp框架提供了一些内置的方法来帮助开发者备份数据库。这些方法通常位于`Think\Db`类中,可以通过...
Thinkphp是一个基于PHP的轻量级框架,它支持多种数据库,包括关系型数据库如MySQL,和非关系型数据库如MongoDB。MongoDB是一种NoSQL数据库,它存储数据的方式不同于传统的表格方式,而是将数据存储在BSON格式的文档...
数据库用于存储和管理应用程序的数据,ThinkPHP5.0提供了一个强大的ORM(对象关系映射)系统,使得开发者可以使用面向对象的方式来处理SQL语句,提高了代码的可读性和可维护性。 在TP5.0中,数据库连接配置位于`...
本文实例讲述了thinkPHP5框架实现多数据库连接,跨数据连接查询操作。分享给大家供大家参考,具体如下: 1. 多数据库连接 方法1:在需要连接其他数据库的地方,使用Db::connect()方法动态连接数据库,方法参数为...
在这种情况下,如何在thinkPHP5框架下实现跨服务器、跨数据库的表关联查询便成为了一个值得探讨的问题。 #### 一、背景介绍 假设存在两台服务器:服务器A和服务器B,其中服务器A部署了数据库A,主要用于存储用户...
在ThinkPHP中,我们可以利用其内置的数据库操作类和模型来实现这一目标。 1. **数据库备份**: 在ThinkPHP中,通常会使用`Db`类或者`Model`类来与数据库交互。备份数据库涉及读取所有表的数据,并生成SQL脚本。你...
tp 数据库配置
thinkPHP后台数据库
thinkphp5官方 模型 数据库手册离线版
而达梦数据库(DAMENG DBMS)则是一种高性能的关系型数据库管理系统,尤其在处理大数据量和高并发场景下表现出色。本文将详细探讨如何使用ThinkPHP 5.1连接达梦数据库,以及相关的源码实现。 首先,我们需要了解...
《掌握ThinkPHP5.0数据库和模型》是针对ThinkPHP框架的一个重要学习资源,特别是对于开发者来说,理解和熟练运用数据库和模型是构建高效、稳定Web应用的关键。ThinkPHP5.0作为国内广泛应用的PHP框架之一,其数据库...
ThinkPHP数据库操作CURD-9
综合这些信息,我们可以了解到这个PHP文件提供了一个轻量级的数据库操作工具,它的设计灵感来源于ThinkPHP框架,使用PDO进行数据库连接,具备链式操作接口,方便进行条件查询。对于那些希望在非ThinkPHP环境中实现...
ThinkPHP 3.2提供了一个ActiveRecord模式的ORM(对象关系映射)工具,可以方便地进行SQL查询和更新。例如,使用`M('User')`创建用户模型,然后通过`save()`方法更新特定用户的密码字段。 5. **中间控制器...
一、ThinkPHP数据库备份基础 ThinkPHP是一个广受欢迎的PHP开发框架,它提供了一系列便利的工具和函数,使得开发者可以轻松处理数据库操作,包括备份和恢复。数据库备份主要是通过执行SQL语句来完成的,通常涉及对表...
对于关联查询,ThinkPHP5.0支持一对一、一对多、多对一、多对多等关系。通过定义关联方法,可以在模型间建立关联,简化复杂查询。例如,上述的`profiles()`方法定义了用户与用户资料的一对一关联。 总的来说,`掌握...
《ThinkPHP3.2.2备份数据库插件详解》 在Web开发中,数据库的备份与恢复是一项至关重要的任务,特别是在使用PHP框架进行项目开发时。ThinkPHP作为国内广泛使用的PHP框架之一,提供了丰富的功能来简化开发过程。本文...
达梦DM数据库Thinkphp3.2驱动类Dm.class.php thinkphp3.2的mysql数据库迁达梦数据库 TP3.2+DM数据库改造要用到的达梦数据库驱动类