YII 数据库查询
$userModel = User::Model();
$userModel->count();
$userModel->count($condition);
$userModel->count($condition, $params);
$userModel->countByAttributes($attributes);
$userModel->countByAttributes($attributes, $condition);
$userModel->countByAttributes($attributes, $condition, $params);
$userModel->countBySql($sql);
$userModel->countBySql($sql, $params); // $userModel = User::Model();
$userModel->find();
$userModel->find($condition);
$userModel->find($condition, $params); $userModel->findByPk($pk);
$userModel->findByPk($pk, $condition);
$userModel->findByPk($pk, $condition, $params);
$userModel->findByAttributes($attributes);
$userModel->findByAttributes($attributes, $userModel);
$userModel->findByAttributes($attributes, $userModel, $params); $userModel->findBySql($sql);
$userModel->findBySql($sql, $params); //返回值为对象数组,若为空则返回NULL。为一条记录
$findResult = $userModel->find('islock = :islock and phone_status=:phone_status',array(':islock' => 1,':phone_status'=>1));
echo $findResult -> phone_status."<br />";
var_dump($findResult->attributes);
if($userModel->find('user_id=260')){
echo 'find';
}else{
echo 'no find';
}
參数解释:上面均返回一条记录 假设要返回多条数据findALL类似的
$condition 是一般sql里面where子句,一个字符窜
$params 是一个数组,为占位符赋值
查询出来全部数据:
$userinfo= $userModel->findAllByAttributes(array('islock'=>1,'phone_status' => 0));
foreach($userinfo as $k => $v){
echo $v->user_id." ". $userinfo[$k][user_id]."<br />";
}
可见。结果是一个二维数组。
讲CDbcriteria和Model对象进行结合
$criteria = new CDbCriteria;
if($condition) $criteria->condition = $condition;
$criteria->offset = $offset;
if($order) $criteria->order = $order;
if($limit!="ALL") $criteria->limit = $limit;
if(!empty($more_criteria)){
$criteria->mergeWith($more_criteria);
}
$Model = new $modelName; if(!empty($with_array)){
$result = $Model->with($with_array)->findAllByAttributes($attributes,$criteria);
}else{
$result = $Model->findAllByAttributes($attributes,$criteria);
}
YII 数据库查询的更多相关文章
- yii 数据库迁移
在我们开发程序的过程中,数据库的结构也是不断调整的.我们的开发中要保证代码和数据库库的同步.因为我们的应用离不开数据库.例如: 在开发过程中,我们经常需要增加一个新的表,或者我们后期投入运营的产品,可 ...
- YII 数据库相关操作
CDbConnection: 一个抽象数据库连接CDbCommand: SQL statementCDbDataReader: 匹配结果集的一行记录CDbTransaction:数据库事务 访问数据库 ...
- YII数据库增删查改操作
初学YII, 整理了一些YII数据库的相关操作, 共同学习,共同进步. 一.查询数据集合 //1.该方法是根据一个条件查询一个集合 $admin=Admin::model()->findAll ...
- Yii2.0 数据库查询 [ 2.0 版本 ]
下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作 User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的 ...
- 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。
最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...
- [转]C#反射,根据反射将数据库查询数据和实体类绑定,并未实体类赋值
本文来自:http://www.cnblogs.com/mrchenzh/archive/2010/05/31/1747937.html /****************************** ...
- 各数据库查询前N条记录的SQL语句
sql在不同数据库查询前几条数据 1. ORACLE SELECT * FROM TABLE_NAME WHERE ROWNUM <= N; HQL: from table_name t or ...
- Atitit DbServiceV4qb9 数据库查询类库v4 新特性
Atitit DbServiceV4qb9 数据库查询类库v4 新特性 V4新特性 安全特性,屏蔽了executeUpdate,使用v2版 Sql异常转换,特别转换了DuplicateEnt ...
- C#与mysql做ASP.NET网页数据库查询速度测试
两种方法是:1,使用mysql数据库的存储过程:2,C#编码,做网页后台与mysql数据库连接,前台测试显示测试过结果下面我将分别讲解两种方法的具体实现. 1,使用mysql数据库的存储过程插入万条大 ...
随机推荐
- C++数值类型极限值的获取
C/C++中基本类型的数值极限值一般来说都是与详细平台有关的,在程序设计的过程中为了写出与平台无关的程序则必须通过合理科学的方法去获取各种类型的极值,经常使用的获取方法有两种:一种是传统的C语言所採用 ...
- Linux 查找一个函数在哪调用
grep "function has" -R ThinkPHP
- COCOS2D-X 动作 CCSequence动作序列
CCSequence继承于CCActionInterval类,CCActionInterval类为延时动作类,即动作在运行过程中有一个过程. CCSequence中的重要方法: static CCSe ...
- XTU1202:逆序数
题目描写叙述 有n张卡片,分别标有数字1~n. 有一天Silence把他们按某种序列排好.然后从第一张開始取出一张,再拿一张放到最后面.再取出一张,再拿出一张放到最后面...知道n张卡片所有取走. 把 ...
- MVC/MVP/MVVM区别——MVVM就是angular,视图和数据双向绑定
摘自:http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html 一.MVC MVC模式的意思是,软件可以分成三个部分. 视图(View):用户界面 ...
- notepad++ 插件推荐——快速定位文件
介绍Notepad++的文章很多,我这里就不赘述了.简言之,是一个轻便的文本编辑工具.结合丰富的插件,可以实现很多功能,可以成为一个轻量级的IDE,用来做脚本开发非常合适. 这里介绍几个插件可以用来进 ...
- [Java]serialVersionUID的作用
简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的.在进行反序列化时,JVM会把传来的 字节流中的serialVersionUID与本地相应实体(类 ...
- Flask上下文管理机制
前引 在了解flask上下文管理机制之前,先来一波必知必会的知识点. 面向对象双下方法 首先,先来聊一聊面向对象中的一些特殊的双下划线方法,比如__call__.__getattr__系列.__get ...
- BZOJ 2427 /HAOI 2010 软件安装 tarjan缩点+树形DP
终于是道中文题了.... 当时考试的时候就考的这道题.... 果断GG. 思路: 因为有可能存在依赖环,所以呢 先要tarjan一遍 来缩点. 随后就进行一遍树形DP就好了.. x表示当前的节点.j表 ...
- javascript动画函数封装
function animate(obj, target) { clearInterval(obj.timer); obj.timer = setInterval(function () { var ...