原生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 ...
随机推荐
- 谁占用了我的Buffer Pool?--【转】
转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/01/11/buffer-pool.aspx 我在做SQL Server 7.0技术支持的时候有客户问我 ...
- UML基本架构建模--类的辅助信息
Organizing Attributes and Operations 组织属性和操作 When drawing a class, you don't have to show every attr ...
- .net core json序列化首字符小写和日期格式处理
打开Startup.cs文件,在ConfigureServices方法中添加如下代码 public void ConfigureServices(IServiceCollection services ...
- mosquitto 启动命令
启动命令 mosquitto [-c config file] [ -d | --daemon ] [-p port number] [-v] -c 后面跟的是启动mosquitto可以调整的参数,比 ...
- ACCESS与MSSQL比较:SQL语句关于时间格式使用的注意点
ACCESS与MSSQL比较:SQL语句关于时间字符串的使用:ACCESS数据库使用 # 来控制时间格式字符串:mssql数据库使用单引号 ' 来控制时间格式字符串.例: ACCESS版本:UPDAT ...
- 函数适配器bind2nd 、mem_fun_ref 源码分析、函数适配器应用举例
一.适配器 三种类型的适配器: 容器适配器:用来扩展7种基本容器,利用基本容器扩展形成了栈.队列和优先级队列 迭代器适配器:(反向迭代器.插入迭代器.IO流迭代器) 函数适配器:函数适配器能够将仿函数 ...
- HTTP协议-状态码详解(转)
原文:http://www.cnblogs.com/lebronjames/archive/2013/01/10/2854981.html HTTP状态码的学习资料到处都有,但是都是理论上讲解. 本 ...
- Object-C中的字符串对象1-不可变字符串
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...
- atitit。获取表格的字段注释metadata的原理以及AND 字段表格描述文档方案
atitit.获取表格的字段注释metadata的原理以及AND 字段表格描述文档方案 1. 通过sql ide navicate获取(推荐)通过meatadata数据库获取 1 2. 通过代码获取 ...
- Android Camera API/Camera2 API 相机预览及滤镜、贴纸等处理
Android Lollipop 添加了Camera2 API,并将原来的Camera API标记为废弃了.相对原来的Camera API来说.Camera2是又一次定义的相机 API,也重构了相机 ...