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数据库的存储过程插入万条大 ...
随机推荐
- Gym 100418J Lucky tickets(数位dp)
题意:给定一个n.求区间[1, n]之间的全部的a的个数.a满足: a能整除 把a表示自身二进制以后1的个数 思路:题意非常绕.... 数位dp,对于全部可能的1的个数我们都dfs一次 对于某一个可 ...
- iodine免费上网——本质就是利用dns tunnel建立tcp,然后tcp proxy来实现通过访问虚拟dns0网卡来访问你的dns 授权server
我的命令: server端: sudo iodined -P passwd -f -DD 10.0.0.100 abc.com client端(直连模式,-r表示使用xxx.abc.com的xxx来转 ...
- ActiveX插件
C#制作ActiveX插件 首先新建项目--->类库,取名:ActiveXDemo 右键项目属性:应用属性==>程序集信息=>使程序集Com可见, 生成==>输出==>为 ...
- SAN和NAS
SAN针对海量.面向数据块的数据传输,而NAS则提供文件级的数据访问功能. SAN和NAS都基于开放的.业界标准的网络协议:用于SAN的光纤通道协议和用于NAS的网络协议(如TCP/IP). SAN的 ...
- Windows下获取Dump文件以及进程下各线程调用栈的方法总结(转)
1. Dump文件的用途 Dump文件, 主要用于诊断一个进程的运行状态,尤其是碰到崩溃(Crash)或者挂起(hang)不响应时,需要分析它的工作状态. 除了平时常见的attach到这个进程, 分 ...
- 微信小程序 | 小程序的转发问题
1.配置小程序页面静态转发信息 关于小程序转发问题,文档 在 page 页面填加了该监听函数,会在小程序右上角 ... 菜单中显示“转发”按钮: 监听函数需要 return {} 其中的内容配置转发信 ...
- JAVA-mysql读写分离插件介绍
kingshard是一个由Go开发高性能MySQL Proxy项目,kingshard在满足基本的读写分离的功能上,致力于简化MySQL分库分表操作:能够让DBA通过kingshard轻松平滑地实现M ...
- Hello World Spring MVC
1, Setup Development Environment 1.1, Java SDK | ~ @ yvan-mac (yvan) | => java -version java vers ...
- Eclipse中切换GIT分支
切换GIT分支: 右击项目——Team——Switch To——选择你要切换的分支.
- 路飞学城Python-Day29(第四模块-并发编程)
01-进程与程序的概念 并发:多进程和多线程 进程的概念:进程就是正在执行的过程,一个应用程序不是进程,只有应用程序启动以后才能说是进程,进程是一个抽象的概念,起源于操作系统 02-操作系统介绍 应用 ...