yii1的笔记
$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的笔记的更多相关文章
- 《应用Yii1.1和PHP5进行敏捷Web开发》学习笔记(转)
学习地址为: http://www.yiibook.com/book/agile_web_application_development_with_yii1.1_and_php5 1.建立应用程序 ...
- Yii笔记:打印sql、Form表单、时间插件、Mysql的 FIND_IN_SET函数使用、是否是post/ajax请求
语句部分: yii1版本打印最后一条执行的SQL: $this->getDbConnection()->createCommand()->select()->from()-&g ...
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
- Yii1.1的验证规则
在Yii1.1的数据验证是由CValidator完成,在CValidator中提供了各种基本的验证规则 <?php public static $builtInValidators=array( ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- NET Core-学习笔记(三)
这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...
随机推荐
- c#设计模式系列:模板方法模式(Template Method Pattern)
引言 提到模板,大家肯定不免想到生活中的"简历模板"."论文模板"."Word中模版文件"等,在现实生活中,模板的概念就是--有一个规定的格 ...
- docker swarm 命令
初始化swarm manager并制定网卡地址 docker swarm init --advertise-addr 192.168.10.117 强制删除集群,如果是manager,需要加–forc ...
- Android 开发权限设置中英对照说明详解
android.permission.ACCESS_CHECKIN_PROPERTIES 允许读写访问 "properties"表在checkin数据库中,改值可以修改上传( Al ...
- LightOJ 1234 Harmonic Number(打表 + 技巧)
http://lightoj.com/volume_showproblem.php?problem=1234 Harmonic Number Time Limit:3000MS Memory ...
- python基本算法
算法优劣评判标准 时间复杂度: 定义:用来评估算法运行效率的一个式子 print('Hello World') O(1) for i in range(n): print('Hello World') ...
- 【Selenium专题】 FAQ_对象识别_Compound class names are not supported
测试代码 public void login(){ WebDriver driver = new ChromeDriver(); driver.get("http://IP:Port/cli ...
- coffee主题美化内容概要
1.具备自动生浮动标题目录(可隐藏) 2.页首目录概要 3.主标题有明显的标志背景颜色,二级标题缩进合适 4.一级.二级标题下图片缩进合适 5.博客签名 6.背景音乐列表 7.打赏 8.联系方式(QQ ...
- 用户画像,知乎Live总结
ttps://www.zhihu.com/lives/889189116527403008/messages 用户画像两层含义:单个标签:用户的分布 标签体系要与时俱进,如果标签被下游强依赖,则不轻易 ...
- SFML从入门到放弃(2) 图像和音频
SFML从入门到放弃(2) 图像和音频 精灵 精灵(sf::Sprite)就是截取纹理(sf::Texture)的一块 或者重复纹理贴图 初始化精灵和纹理的一些方法: sf::Sprite init_ ...
- Kid的某些跳刺套路
需要按二段方向键的跳跃: 中途松开方向键的跳跃: 中途按下方向键的跳跃: 意想不到的小跳(如果上方有墙,小跳比大跳磕头跳的更远)(kid站的是最后的位置): 意想不到的小跳*2: 意想不到的小跳*3( ...