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)的更多相关文章

  1. Yii2.0高级框架数据库增删改查的一些操作(转)

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

  2. Yii2.0高级框架数据库增删改查的一些操作

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

  3. yii2增删改查及AR的理解

    yii2增删改查 // 返回 id 为 1 的客户 $customer = Customer::findOne(1); // 返回 id 为 1 且状态为 *active* 的客户 $customer ...

  4. OracleHelper(对增删改查分页查询操作进行了面向对象的封装,对批量增删改操作的事务封装)

    公司的一个新项目使用ASP.NET MVC开发,经理让我写个OracleHelper,我从网上找了一个比较全的OracleHelper类,缺点是查询的时候返回DataSet,数据增删改要写很多代码(当 ...

  5. C# 对MongoDB 进行增删改查的简单操作

    C# 对MongoDB 进行增删改查的简单操作   下面演示下C#操作MongoDB驱动的简单的增删改查代码 运用到的MongoDB支持的C#驱动,当前版本为1.6.0 1,连接数据库   /// & ...

  6. MongoDB - 增删改查及聚合操作

    目录 MongoDB - 增删改查及聚合操作 一. 数据库操作(database) 1. 创建及查看库 2. 删除库 二. 集合collectionc=操作(相当于SQL数据库中的表table) 1. ...

  7. yii2 增删改查

    自己总结的yii2 advanced 版本的简单的增删改查,希望对大家有所帮助 1.gii生成的actionCreate()方法中 获取插入语句的id $id = $model->attribu ...

  8. android 对sqlite数据库的增删改查等各种操作

    转载:http://blog.csdn.net/vrix/article/details/6717090 package com.sqlite.main; import java.io.File; i ...

  9. HBase数据库增删改查常用命令操作

    最近测试用到了Hbase数据库,新建一个学生表,对表进行增删改查操作,把常用命令贴出来分享给大家~ 官方API:https://hbase.apache.org/book.html#quickstar ...

随机推荐

  1. MySQL 5.1参数

    MySQL 5.1.73参数 Variable_name    Valueauto_increment_increment 1auto_increment_offset 1autocommit ONa ...

  2. view xml 中的 button 调用web客户端事件

    最近写一个模块 需要 在客户端干点事. 按常规的方法, 应该是写个 客户端模块. 在 客户端 init, start, render 去渲染个按钮出来干事.暂时还不太理解WEB模块如何很好地同服务器端 ...

  3. jQuery name选择器 带正则 写法示例

    $("div[id]") 选择所有含有id属性的div元素 $("input[name='target']") 选择所有的name属性等于'target'的in ...

  4. Windows下Hadoop编程环境配置指南

    刘勇    Email: lyssym@sina.com 本博客记录作者在工作与研究中所经历的点滴,一方面给自己的工作与生活留下印记,另一方面若是能对大家有所帮助,则幸甚至哉矣! 简介 鉴于最近在研究 ...

  5. SQL 防止注入

    var strsql = "insert into Staff_Answer (ExamTitleID,QuestionsID,MultipleChoice,RightOption,Answ ...

  6. js 按enter键提交信息

    http://codeigniter.org.cn/forums/thread-10868-1-1.html function keydown(e) {     var currKey=0,e=e|| ...

  7. Java SSL证书的安装

    https正在成为主流,http估计在不久的将来会被彻底放弃…… 一个Java程序需要访问一个https的网站的时候,可能需要涉及证书的安装,卸载等操作. 一.证书的下载 打开浏览器输入https:/ ...

  8. 阿里云 部署并开启nodejs应用

    1.下载资源  $ wget https://nodejs.org/dist/v8.11.2/node-v8.11.2-linux-x64.tar.xz 2.xz解压 $ xz -d node-v8. ...

  9. Python 爬虫实例(5)—— 爬取爱奇艺视频电视剧的链接(2017-06-30 10:37)

    1. 我们找到  爱奇艺电视剧的链接地址 http://list.iqiyi.com/www/2/-------------11-1-1-iqiyi--.html 我们点击翻页发现爱奇艺的链接是这样的 ...

  10. unity, undo

    如果在操作一个Object之前调用Undo.RecordObject(Object),且操作确实造成Object某些属性的改变,则会产生一个undo记录. 如果我们的架构不是直接操作Object,而是 ...