CakePHP查询数据
array('conditions' => array('Model.field' => $thisValue), //条件数组'recursive' => 1, //整型'fields' => array('Model.field1', 'DISTINCT Model.field2'), //字段名数组'order' => array('Model.created', 'Model.field3 DESC'), //定义顺序的字符串或者数组'group' => array('Model.field'), //进行GROUP BY的字段'limit' => n, //整型'page' => n, //整型'callbacks' => true //other possible values are false, 'before', 'after')
- conditions(条件):条件(conditions)可应用于取代查询语句中的WHERE子句。默认值是1=1,这表示没条件约束。
- fields(字段):查询结果应该返回的字段范围。如果没有指明,它会返回所有字段。当find()函数的第一个参数$type被设置成count时,该参数不可用。
- order(排序):这个字符串定义了查询语句中ORDER BY子句的内容。如果order排序没有指明,那么SQL查询中将不会添加有ORDER BY子句。查询类型是count是,该参数也不可用。
- limit(限制):该整数指明了返回记录的最大数量。如果没指定limit,那么函数会返回所有符合条件的记录。只有当查询类型是all时,它才可用。
$result = $this->User->find("all",array('id','username','password'));
$this->set("result",$result);
$result = $this->User->findByUsername("admin");
//打印时将只有username是admin的数据显示
$result = $this->User->find("all",array('conditions'=>array('username <>'=>'admin')));
此时打印时admin的那一条数据将不显示,其余都显示
为了便于读者更清楚地了解这个概念,我们将会快速浏览下面这些表明了find()用法的例子:
1,如果你想知道书名以字母“A”开头的书的数目,我们会在BooksController(Books控制器中)添加如下代码:
$count = $this->Book->find('count', array('conditions' =>
array('Book.title' => 'LIKE A%'));
It executes the following SQL query:
它会执行如下SQL查询
SELECT COUNT(*) AS `count` FROM `books` AS `Book` WHERE
`Book`.`title` LIKE 'A%';
当find()方法的$type参数设置成count时,查询返回的结果是一个整数。在这个例子中, $count变量的值可能是2.
2,如果我们想查询id最大书本所对应的书号(ISBN)和书名,我们会使用下面这个代码
$book = $this->Book->find('first',
array(
'fields' => array('isbn', 'title'),
'order' => 'Book.id DESC'
)
);
该代码会执行如下SQL语句
SELECT `Book`.`isbn`, `Book`.`title` FROM `books` AS `Book`
WHERE 1 = 1 ORDER BY `Book`.`created` DESC LIMIT 1;
储存在$book变量中的结果会是下面这个样子:
Array
(
[Book] => Array
(
[isbn] => 1847192971
[title] => Building Powerful and Robust Websites
with Drupal 6
)
)
3,如果你想找出某个作者所写的所得书并按照书名来排序,那么下面这个代码可以达到此目的:
$books = $this->Book->find('all',
array(
'fields' => array('title'),
'conditions' => array(
'Book.author_name' => 'LIKE David Barnes'
),
'order' => 'Book.title ASC'
)
);
上面这段代码将会执行下面这个SQL查询
SELECT `Book`.`title` FROM `books` AS `Book` WHERE `Book`.`author_
name` LIKE 'David Barnes' ORDER BY
`Book`.`title` ASC
上面这段查询会返回如下的结果:
Array
(
[0] => Array
(
[Book] => Array
(
[title] => How to write computer books
)
)
[1] => Array
(
[Book] => Array
(
[title] => How not to write a technical book!
转载于:https://www.cnblogs.com/iplus/archive/2012/02/16/4490024.html
CakePHP查询数据相关推荐
- java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码
jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...
- JUnit测试类完成后事务是默认 回滚的。只能查询数据,不能增删改。
JUnit测试类完成后事务是默认 回滚的.只能查询数据,不能增删改. 在测试类或者测试方法上面加上注解 @Rollback(false) 表示事物不回滚,这样数据就可以提交到数据库中了. 转载于:h ...
- Elasticsearch 查询数据的工作原理是什么?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:8rr.co/GsAa 面试题 ES 写入数据的工作原理是什 ...
- Statement接口实现查询数据、添加数据
本文介绍了Statement接口实现查询数据.添加数据.在JDBC的基本应用中,介绍了使用Statement接口查询和添加数据的步骤.重点在于使用getConnection()方法来连接数据库,创建S ...
- mysql三表查询数据重复_解决mybatis三表连接查询数据重复的问题
此问题的产生,主要是数据库的字段名一样导致 三张表 DOCTOR JOB OBJECT 有问题的查询语句和查询结果是: SELECT d.*,j.*,o.* from (select d.*,rown ...
- pandas 查询数据
文章目录 视频 概论 使用行和列查询数据 行 列 单行.单列 单行多列 多行单列 多行多列 使用数值区间进行范围查询(左闭右闭和列表不一样) 条件表达式查询数据 调用函数查询数据 视频 https:/ ...
- pythonmysql查询转list_使用Python将Mysql的查询数据导出到文件的方法
mysql官方提供了很多种connector,其中包括python的connector. 下载地址在:http://dev.mysql.com/downloads/connector/python/ ...
- PyCharm 2018 for mac 数据库实战:链接SQLite、建表、添加、查询数据
一.前言 最近开始入门python,当然是要使用PyCharm,然后在项目中遇到.db数据库文件,双击打不开?网上找到了windows版本的教程,版本也比较旧,所以有空就来一发,当备忘也好~ 二.链接 ...
- java 实现违章_基于JAVA的车辆违章查询数据调用代码实例
基于JAVA的车辆违章查询数据调用代码实例 代码描述:基于JA V A的车辆违章查询数据调用代码实例 相关平台:聚合数据 import java.io.BufferedReader; import j ...
- php 查看mysql连接数据库_php基础之连接mysql数据库和查询数据
php基础之连接mysql数据库和查询数据 文章主要介绍了php连接mysql数据库和查询数据的方法和示例,需要的朋友可以参考下,就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕 ...
最新文章
- iOS Core Data
- 模拟退火求函数最值问题求解
- c语言is stack empty,C语言实现栈的问题
- Android添加垂直滚动scrollview
- 纯虚函数能为private吗?
- 【实体对齐·HGCN】Jointly Learning Entity and Relation Representations for Entity Alignment
- Mac下安装Flink的local模式(flink-1.2.0)
- a标签使用方法和跳转方式
- Python面向对象06/反射/双下方法
- 物联网IoT应用技术有哪些?
- 十一届蓝桥模拟赛 元辅音字母 JAVA
- 微分方程的特征值解法:斯图姆-刘维尔方程
- 总结kali中文输入法失败的原因
- 转接IC整理汇总 转接芯片大全
- 解决虚拟机设置共享文件夹失败,/mnt目录为空
- 判断Android主题是否为深色主题
- yapi与rap2比较
- 汇编实验:格雷码转二进制(ASCII码)的实现和调试
- iOS CAReplicatorLayer 复制图层
- 2017第14届中国(西安)国际建筑节能及新型建材展览会会刊(参展商名录)
热门文章
- springBoot集成dubbo的超时时间设置
- 使用adb命令从Android手机中取出已安装的app包,导出apk
- Localdatetime的坑
- flask-mail异步发送邮件_Spring Boot与异步任务、定时任务、邮件任务
- 1.1介绍线程和运行(Introducing Thread and Runnable)
- [渝粤教育] 西南科技大学 试验统计方法 在线考试复习资料2021版
- 【渝粤教育】广东开放大学 普通话训练 形成性考核 (48)
- 机器学习工程师 - Udacity 强化学习 Part Eleven
- 【python】导入自定义模块
- JavaScript基础笔记(十四)最佳实践