thinkphp数据查询方法总结select ,find,getField,query
1
2
|
$Model = new Model() // 实例化一个model对象 没有对应任何数据表 $Model ->query( "select * from think_user where status=1" ); |
如果刚学Thinkphp对框架不太了解可以用query($sql) 和 execute($sql) 两个方法可以实现任何的sql操作query用于查询操作,execute用于非查询操作。但是框架已经封装好了常用的方法,且用起来更方便。
下面是最常用的查询方法:
1.select()
1
2
3
4
5
6
7
8
9
10
11
12
|
// 将所有数据查出,失败返回 false,无结果返回 null $user = M( 'demo' ); $data = $user ->select(); dump( $data ); // 加入条件 $user ->field( 'name,sex' )->where( 'id > 2' )->order( 'age' )->limit(3)->select(); //查询主键值为30的信息 $user ->select( '30' ); // 查询主键为21,23,27的值 $user ->select( '21,23,27' ); |
2.find()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
// 查询出一条数据 $user = M( 'demo' ); // 失败返回false if ( $data = $user ->find()){ dump( $data ); } // 加入where条件 $user = M( 'demo' ); $data = $user ->field( 'name,sex' )->where( 'id > 2' )->find(); dump( $data ); // 返回一维数组 $data ->find( '30' ); $manager ->where( "username = '$username' and password = '$password'" )->find(); |
3.getField()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
// 获取列数据中的第一条 $user = M( 'demo' ); $data = $user ->getField( 'name' ); //默认第一个 // 第二个参数位true 则获取整列数据 $user ->where( "id = 3" )->getField( 'name' ,true); // 限制显示条数 $nickname = $User ->where( 'status=1' )->getField( 'nickname' ,8); $nickname = $User ->where( 'status=1' )->limit(8)->getField( 'nickname' ,true); // 返回二维数组,键名为第一个 $nickname = $User ->where( 'status=1' )->getField( 'id,nickname,sex' ); // 使用连接符':' 键名是id值,键值则是account:nickname连接组成的字符串 $result = $User ->where( 'status=1' )->getField( 'id,account,nickname' , ':' ); |
还有详细的查询方法详见 ThinkPHP3.2手册中的 "模型>查询语句" 章节。
thinkphp数据查询方法总结select ,find,getField,query的更多相关文章
- ThinkPHP数据查询与添加语句
在ThinkPHP框架中实现数据的查询操作 function ShowAll() { //Model:数据库中每张表对应一个模型 //类名是表名,类里面的成员变量是列名 //把一张表对应一个类,其中一 ...
- 数据查询语句:DQL(Data Query Language)
一.基础查询 1.语法:select 查询列表 from 表名; 2.特点:1.通过select查询完的结果,是一个虚拟的表格,不是真实存在 2.查询列表可以是:字段.表达式.常量.函数等 3 ...
- Django数据查询方法总结
__exact 精确等于 like ‘aaa’__iexact 精确等于 忽略大小写 ilike ‘aaa’__contains 包含 like ‘%aaa%’__icontains 包含 忽略大 ...
- YII2-数据库数据查询方法,关联查询with, joinWith区别和分页
一.ActiveRecord 活动记录 1.with关联查询 例如,查询评论 $post = Post::find()->with('comments'); 等价于以下结果集 SELECT * ...
- JSON数据查询方法
在进行前端项目开发的时候时长会遇到JSON的数据查找问题,如何方便快速查找?这里推荐一个linqjs组件,项目主页参见http://linqjs.codeplex.com/ 查询对象 var json ...
- django中常用的数据查询方法
https://blog.csdn.net/chen1042246612/article/details/84071006
- MyBaits一对一的查询方法
MyBaits一对一的查询方法 一:表数据与表结构 CREATE TABLE teacher( t_id INT PRIMARY KEY AUTO_INCREMENT, t_name ) ); CRE ...
- Mysql对表中 数据 查询的操作 DQL
准备数据,倒入sql文件 运行sql文件 得到四张表 select * from 表名 * 代表全部 1.AS子句作为别名 select studentname as "姓名" ...
- 使用ResultSet,写了一个通用的查询方法
此方法很烂,以后优化 /** * 通用的查询方法:SELECT */ @SuppressWarnings({ "unchecked", "rawtypes" } ...
随机推荐
- 苏宁OLAP架构设计
一. 功能综述 OLAP引擎为存储和计算二合一的引擎,自身内部涵盖了对数据的管理以及提供查询能力.底层数据完全规划在引擎内部,外部系统不允许直接操作底层数据,而是需要通过暴露出来的接口来读写引擎内部数 ...
- Java并发编程原理与实战六:主线程等待子线程解决方案
本文将研究的是主线程等待所有子线程执行完成之后再继续往下执行的解决方案 public class TestThread extends Thread { public void run() { Sys ...
- soj1010. Zipper
1010. Zipper Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description Given three strings, yo ...
- OI,再见
SDOI2016 因为自己的沙茶犯了低级的沙茶错误而滚粗. day2原可以AK,却因为眼残脑残只拿到90. 由此可见,细节永远不是一个小问题. 想想过去的日子,还真是舍不得. 但过去的终将过去,未来的 ...
- 【leetcode 简单】 第五十九题 同构字符串
给定两个字符串 s 和 t,判断它们是否是同构的. 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的. 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序.两个字符不能映射到同一 ...
- 【前端】直击源头的让你3秒理解并且会用Jsonp!!!
1. 同源策略 ajax之所以需要“跨域”,罪魁祸首就是浏览器的同源策略.即,一个页面的ajax只能获取这个页面相同源或者相同域的数据. 如何叫“同源”或者“同域”呢?——协议.域名.端口号都必须相同 ...
- vtk 基础概念
#include <vtk-5.10/vtkSmartPointer.h>#include <vtk-5.10/vtkRenderWindow.h>#include <v ...
- Spring4笔记5--基于注解的DI(依赖注入)
基于注解的DI(依赖注入): 对于 DI 使用注解,将不再需要在 Spring 配置文件中声明 Bean 实例.只需要在 Spring 配置文件中配置组件扫描器,用于在指定的基本包中扫描注解. < ...
- 【技巧总结】Penetration Test Engineer[1]-Basic
1.渗透测试基础 1.1.渗透测试分类 黑盒测试:从远程网络位置来评估目标网络基础设施,没有任何相关信息 白盒测试:内部发起,了解到关于目标环境的所有内部与底层知识 灰盒测试:结合两者优势,根据对目标 ...
- KL散度(Kullback–Leibler divergence)
KL散度是度量两个分布之间差异的函数.在各种变分方法中,都有它的身影. 转自:https://zhuanlan.zhihu.com/p/22464760 一维高斯分布的KL散度 多维高斯分布的KL散度 ...