$sql = 'SELECT * FROM to8to_worker_item limit 10';
$res = Yii::app()->db->createCommand($sql)->queryAll();

这是yii1中写sql语句来查询数据库的写法,queryRow()方法只查一条,查询结果是数组,无需toArray()也不可以调用这个方法;

$cri = new CDbCriteria();
$cri->addCondition('id = 1','AND');//where id = 1 第二个参数默认省略,如果是OR关系时就起作用了
$cri->addInCondition('id',array(1,2,3));//where id in (1 ,2, 3)
$cri->addNotInCondition('id',array(1,2,3));//where id not in (1 ,2 ,3)
$cri->addSearchCondition('name','zhang');//模糊搜索 where name like '%zhang%'
$cri->addBetweenCondition('id',1,5);//where id between 1 and 5

$cri->compare('id',1);//where id = 1
$cri->compare('id',array(1,2));//where id in (1,2)

$cri->addCondition('id = :id');//占位符的使用方法
$cri->params[':id']=1;

$cri->select= 'id,name,age';//查询字段 select id name age,不重写默认是 select *
$cri->jion = 'left jion books on books.id = students.id ';//链表查询
$cri->distinct = FALSE; //是否唯一查询,默认false

student::model()->findAll($cri);

这是yii1中用CDbCriteria对象来收集查询条件的写法,查询结果是对象

$rows = (new \yii\db\Query())
->select(['id','name'])
->from('students')
->where(['age'=>10])
->limit(10)
->all();

$rows = Yii::app()->db->createCommand()
->select(['id','name'])
->from('students')
->where(['age'=>10])
->limit(10)
->all();

query builder和Command现都支持链式调用

mysql要先排序在限制条数,一边情况下limit是最后加上去

new CDbCriteria()->compare($column,$value,$partialMatch=false,$operator='AND');
//search时$column匹配$value,false为完全匹配,true为模糊匹配,$operator为操作符

事务的操作
$shiwu = Yii::app()->db->beginTransaction();
try {
$update['coupons_enddate'] = 0;
$update['coupons_money'] = 0;
$res = Yii::app()->db->createCommand()->update('{{owner}}', $update, "coupons_money>0 and coupons_enddate <$timestamp");
$a = Yii::app()->db->createCommand($sql)->execute();
if($a && $res)
{
$shiwu->commit();
echo "<script>alert('成功清除现金券过期用户数据{$num}条')</script>";
Yii::app()->end();
}else
{
throw new Exception('修改不成功');
}
} catch (Exception $exc) {
echo "<script>alert('没找到需要清除的数据或清除失败')</script>";
$shiwu->rollback();
Yii::app()->end();
}

yii1的笔记的更多相关文章

  1. 《应用Yii1.1和PHP5进行敏捷Web开发》学习笔记(转)

    学习地址为: http://www.yiibook.com/book/agile_web_application_development_with_yii1.1_and_php5   1.建立应用程序 ...

  2. Yii笔记:打印sql、Form表单、时间插件、Mysql的 FIND_IN_SET函数使用、是否是post/ajax请求

    语句部分: yii1版本打印最后一条执行的SQL: $this->getDbConnection()->createCommand()->select()->from()-&g ...

  3. git-简单流程(学习笔记)

    这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. SQL Server技术内幕笔记合集

    SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...

  6. Yii1.1的验证规则

    在Yii1.1的数据验证是由CValidator完成,在CValidator中提供了各种基本的验证规则 <?php public static $builtInValidators=array( ...

  7. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  8. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  9. NET Core-学习笔记(三)

    这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...

随机推荐

  1. C# 设置textedit只能输入英文数字下划线,并且只能以英文开头(正则表达式)

    this.textEdit1.Properties.Mask.EditMask = @"[a-zA-z][a-zA-Z0-9_]*";

  2. Javascript:日期排班功能实现

     背景: 近期,公司的产品经常会遇到日期排班类似的功能: 需求的排班日期长短不一:有些是两周,有些是四周:要求选中的时候有一个active的状态区分,另外要提供钩子获取选中日期的形如:[2018-04 ...

  3. Kalibr installation tutorial

    How to install Kalibr I was confused about installing Kalibr, but there is no even one hint in READM ...

  4. 使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?

    使用 final 关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的.例如,对于如下语句:final StringBuffer a=new StringBuffer( ...

  5. php 的加法

    无意间看到了php中关于加,减,乘,除 的计算方法 这里 http://lxr.php.net/source/xref/PHP-5.6/Zend/zend_operators.h#596 static ...

  6. HTML-基础及一般标签

    HTML        内容 Hyper Text Markup Language  超文本标记语言(包含文本.表格.图片.声音.视频等,同时也是文档) HTML 元素指的是从开始标签(start t ...

  7. HTTP请求处理流程-SpringMvc

    1.在SpringMVC的http请求处理过程中,包括了前端控制器(DispatcherServlet).处理映射器(HandlerMapping).处理适配器(HandlerAdapter).处理器 ...

  8. Go语言包和文件

    工作空间 Go语言工作空间:编译工具对源码目录有严格要求,每个工作空间 (workspace) 必须由bin.pkg.src三个目录组成. src ---- 项目源码目录,里面每一个子目录,就是一个包 ...

  9. SCTP

    流控制传输协议是为了替代UDP.TCP实现七号信令传输的. HS DPA  high speed download packet access. HS UPA ... 通信人 Orthogonal f ...

  10. 关于dedecms数据量大以后生成目录缓慢的问题解决

    四月份的时候博客被封.我不知情.因为一直很忙,没有来得及看.前两天来看以后,发现居然被封,吓傻了我. 赶紧找原因,原来是转载了某个人的博文,被他举报了,然后就被封了. 觉得很伤心,毕竟这个博客陪伴了我 ...