原生YII2 增删改查的一些操作(非ActiveRecord)
1.添加数据
如下,使用insert方法:t_admin_user为数据表名。。其他的是属性。。
$num = Yii::$app->db->createCommand()->insert('t_admin_user', [
'username' => $this->username,
'origin_pwd' => trim($info['password']),
'password' => $this->passwordHash($info['password']),
'roleid' => $this->roleid,
'role' => $this->role,
'ctime' => $this->ctime,
'salt' => $this->salt,
'status' => $this->status,
])->execute();
2.修改数据
如下,使用update方法:t_admin_use为数据表名,'origin_pwd' =>$origin_pwd,'password'=>$password,'salt'=>$salt是要修改的属性,'uid = '.$uid是条件。
$modNum = Yii::$app->db->createCommand()->update('t_admin_user', ['origin_pwd' =>$origin_pwd,'password'=>$password,'salt'=>$salt], 'uid = '.$uid)->execute();
3.批量添加
如下,Message为数据表名。
if($userInfo){
foreach($userInfo as $v){
$rows[] = array(
'uid' => trim($v['uid']),
'content' => trim($info['content']),
'type' => trim($info['type']),
'create_time' => $time,
'update_time' => $time,
'status' => 0
);
} return Yii::$app->db->createCommand()->batchInsert(Message::tableName(), ['uid', 'content','type','create_time','update_time','status'], $rows)->execute();
}
4.批量修改
如下,Message为数据表,'create_time'=>trim($info['create_time'])是条件。。
$model = new Message();
$result = $model->updateAll(['content'=>trim($info['content']),'update_time'=>time()],['create_time'=>trim($info['create_time'])]);
5.插入数据成功后,新增的id
$post->save();
//得到上次插入的Insert id
$id = $post->attributes['id'];
如此很简单
例子:
public function doGetCreateSalesInfo($info){
$this->name = trim($info['name']);
$this->company_id = 58;
$this->ctime = date('Y-m-d H:i:s',time());
$this->password = md5(trim($info['password']));
$this->phone = trim($info['phone']);
$this->email = trim($info['email']);
$this->admin_id = trim($info['admin_id']);
if($this->save()){
$id = $this->attributes['id'];
$model = self::find()->where(['id'=>$id])->one();
$model->code = 'BLM'.sprintf("%07d",$id);
if($model->save()){
return 1;
}else{
return -1;
}
}
}
6.查找数据信息
$goodsTypes = Yii::app()->getDb()->createCommand()
->select('type_id, type_name')
->from('goods_type')
->where('status=1')->queryAll();
7.连表查询
$goods = Yii::app()->getDb()->createCommand()->from('goods g')
->select('g.good_id, g.good_name, gt.type_name, g.price, g.buy_nums, g.commit_nums, g.create_time')
->join('goods_type gt', 'g.good_type=gt.type_id')
->where('g.`status`=1 and gt.`status`=1')
->order('g.create_time desc')
->queryAll();
8.删除
$row = Yii::app()->getDb()->createCommand()
->delete('goods', "good_id=:good_id", array(
':good_id' => $goods_id,
));
原生YII2 增删改查的一些操作(非ActiveRecord)的更多相关文章
- Yii2.0高级框架数据库增删改查的一些操作(转)
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
- Yii2.0高级框架数据库增删改查的一些操作
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
- yii2增删改查及AR的理解
yii2增删改查 // 返回 id 为 1 的客户 $customer = Customer::findOne(1); // 返回 id 为 1 且状态为 *active* 的客户 $customer ...
- OracleHelper(对增删改查分页查询操作进行了面向对象的封装,对批量增删改操作的事务封装)
公司的一个新项目使用ASP.NET MVC开发,经理让我写个OracleHelper,我从网上找了一个比较全的OracleHelper类,缺点是查询的时候返回DataSet,数据增删改要写很多代码(当 ...
- C# 对MongoDB 进行增删改查的简单操作
C# 对MongoDB 进行增删改查的简单操作 下面演示下C#操作MongoDB驱动的简单的增删改查代码 运用到的MongoDB支持的C#驱动,当前版本为1.6.0 1,连接数据库 /// & ...
- MongoDB - 增删改查及聚合操作
目录 MongoDB - 增删改查及聚合操作 一. 数据库操作(database) 1. 创建及查看库 2. 删除库 二. 集合collectionc=操作(相当于SQL数据库中的表table) 1. ...
- yii2 增删改查
自己总结的yii2 advanced 版本的简单的增删改查,希望对大家有所帮助 1.gii生成的actionCreate()方法中 获取插入语句的id $id = $model->attribu ...
- android 对sqlite数据库的增删改查等各种操作
转载:http://blog.csdn.net/vrix/article/details/6717090 package com.sqlite.main; import java.io.File; i ...
- HBase数据库增删改查常用命令操作
最近测试用到了Hbase数据库,新建一个学生表,对表进行增删改查操作,把常用命令贴出来分享给大家~ 官方API:https://hbase.apache.org/book.html#quickstar ...
随机推荐
- mybatis select/insert/update/delete
这里做了比较清晰的解释: http://mybatis.github.io/mybatis-3/java-api.html SqlSession As mentioned above, the Sql ...
- Native App、Web App 还是Hybrid App
Native App.Web App 还是Hybrid App? 技术 标点符 1年前 (2014-05-09) 3036℃ 0评论 一.什么是Native App? Native App即原生应用, ...
- 查看80port是否被占用
windows下命令: netstat -ano|findstr "0.0:80"
- 【laravel54】查看版本号3种方式
1:最简单的用命令行实现>进入项目目录,执行 > php artisan --version 2:查看文件 vendor\laravel\framework\src\Illuminate\ ...
- Linux-iptables详解
一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防 ...
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第10章节--SP2013中OAuth概览 应用程序验证
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第10章节--SP2013中OAuth概览 应用程序验证 既然你懂得了什么是应用程序身份.而且知道怎样在SP中创建和设置 ...
- EntityFramework Data Annotations
详细的实体映射介绍(Data Annotation) http://msdn.microsoft.com/en-us/data/jj591583
- centos7下mysqldump+crontab自动备份数据库
1.创建文件夹(存放备份数据) mkdir /bak mkdir /bak/mysqldata 2.编写脚本 vi /usr/sbin/bakmysql.sh 脚本内容如下 DATE=`date +% ...
- Sql server注入简单认识
登录界面常常会涉及到敏感关键字的注入 为了对应面试,再看一下 怎样防止注入, 可以过滤SQL需要参数中的敏感字符(忽略大小写) public static string Split(string in ...
- node.js 操作excel 表格与XML文件常用的npm
在日常工作中会经常用到把一些excel表格文件转化为json,xml,js等格式的文件,下面就是我在日常中用到的这些npm. 1.node-xlsx: node-xlsx可以把excel文件转化为上面 ...