$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 数据库查询的更多相关文章

  1. yii 数据库迁移

    在我们开发程序的过程中,数据库的结构也是不断调整的.我们的开发中要保证代码和数据库库的同步.因为我们的应用离不开数据库.例如: 在开发过程中,我们经常需要增加一个新的表,或者我们后期投入运营的产品,可 ...

  2. YII 数据库相关操作

    CDbConnection: 一个抽象数据库连接CDbCommand: SQL statementCDbDataReader: 匹配结果集的一行记录CDbTransaction:数据库事务 访问数据库 ...

  3. YII数据库增删查改操作

    初学YII, 整理了一些YII数据库的相关操作,  共同学习,共同进步. 一.查询数据集合 //1.该方法是根据一个条件查询一个集合 $admin=Admin::model()->findAll ...

  4. Yii2.0 数据库查询 [ 2.0 版本 ]

    下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作 User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的 ...

  5. 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

    最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...

  6. [转]C#反射,根据反射将数据库查询数据和实体类绑定,并未实体类赋值

    本文来自:http://www.cnblogs.com/mrchenzh/archive/2010/05/31/1747937.html /****************************** ...

  7. 各数据库查询前N条记录的SQL语句

    sql在不同数据库查询前几条数据 1. ORACLE SELECT * FROM TABLE_NAME WHERE ROWNUM <= N;  HQL: from table_name t or ...

  8. Atitit  DbServiceV4qb9 数据库查询类库v4 新特性

    Atitit  DbServiceV4qb9 数据库查询类库v4 新特性     V4新特性 安全特性,屏蔽了executeUpdate,使用v2版 Sql异常转换,特别转换了DuplicateEnt ...

  9. C#与mysql做ASP.NET网页数据库查询速度测试

    两种方法是:1,使用mysql数据库的存储过程:2,C#编码,做网页后台与mysql数据库连接,前台测试显示测试过结果下面我将分别讲解两种方法的具体实现. 1,使用mysql数据库的存储过程插入万条大 ...

随机推荐

  1. 深刻理解Nginx之Nginx完整安装

    1.   Nginx安装 1.1预先准备 CentOS系统下,安装Nginx的库包依赖. 安装命令例如以下: sudo yum groupinstall "DevelopmentTools& ...

  2. java根据汉字获取全拼和首字母

    import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCase ...

  3. Uva 12012 Detection of Extraterrestrial 求循环节个数为1-n的最长子串长度 KMP

    题目链接:option=com_onlinejudge&Itemid=8&page=show_problem&problem=3163">点击打开链接 题意: ...

  4. 利用keytool颁发https证书方法

    1.首先生成私有认证机构 命令:keytool -genkeypair -alias CAname   补充:keytool -list 命令增加 -v 可以查看CA详细信息 2.然后生成私有证书 命 ...

  5. 主流的Python领域和框架--转

    原文地址:https://www.zhihu.com/question/19899608

  6. Mediator 基于内存的发布订阅

    Github Mediator 使用方法 /// <summary> /// 返回值 BaseEntity /// </summary> public class Ping1 ...

  7. autocomplete for password

    <input id="userPassword" type="password" autocomplete="current-password& ...

  8. navigate系列api

    wx.navigateTo  用于保留当前页面.跳转到应用内的某个页面,使用 wx.navigateBack可以返回到原页面.对于页面不是特别多的小程序,通常推荐使用 wx.navigateTo进行跳 ...

  9. 安装wampserver遇到的问题及解决方案

    丢失api-ms-win-crt-runtime-l1-1-0.dll 安装完wampserver,启动服务器的时候遇到一些问题,提示说缺失dll文件,如下图所示: 网上一搜,很多人出现过丢失api- ...

  10. 苹果操作系统名称演变史 新名称macOS

    历史回顾 发布年代 名称 序号 1994-1999 Classic Mac OS 1-9 2001-2011 Mac OS X 10.0-Lion 2012-2015 OS X Mountain Li ...