yii2 增删改查
自己总结的yii2 advanced 版本的简单的增删改查,希望对大家有所帮助
1.gii生成的actionCreate()方法中 获取插入语句的id
$id = $model->attributes['id']; //或$model->id;
2.展示列表添加多选框 并设置属性
['class' => 'yii\grid\CheckboxColumn',
'checkboxOptions' => function($searchModel){
return ['aid' => $searchModel->id,'class'=>'chk'];
}
],
1.使用yii\db\Command执行原生 SQL 查询
$con = \Yii::$app->db;
$res = $con->createCommand($sql)->execute(); //增、删、改语句用execute
查询:1.$arr = $con->createCommand($sql)->queryAll(); //返回所有数据 是数组样式
2.$arr = $con->createCommand($sql)->queryOne(); //返回一条数据 是数组样式
3.$obj = $con->createCommand($sql)->query(); //返回一条数据 是对象
$arr = $obj->read();//将对象转变为数组
修改:$result = $con->createCommand()->update("news",['pid'=>$id],"id=$id")->execute();
2.查询构建器 使用查询构建器通常包含以下两个步骤:
- 创建一个 yii\db\Query 对象来代表一条 SELECT SQL 语句的不同子句(例如
SELECT,FROM)。 - 执行 yii\db\Query 的一个查询方法(例如:
all())从数据库当中检索数据
$row = (new\yii\db\Query())->select(['id','title'])
->from("info")
->where(['id'=>37])
->limit(1)
->one(); //返回数组
3.AR类 Active Record (活动记录,以下简称AR)提供了一个面向对象的接口, 用以访问数据库中的数据。
具体的用法大家可以去查 看yii2的文档
增加:$model->setAttributes($arr); //有s
$model->isNewRecord = true;
$model->insert(); //或者$model->save()
$model = new Info();
$model->title = 'df';
$model->save();
$model->desc = 'sdf';
$model->save(); //两次插入到一条语句中
删除:$model->deleteAll('id=26'); //delete不执行
修改:$model->updateAll($arr,"id>38");
查询:$model->find()->asArray()->all(); //asArray() 将对象转换为数组 查询所有语句
//->one(); 获取一条语句
$model->find()->where(['id'=>25])->andWhere(['title'=>'fgsdfg'])->asArray()->all(); //多条件查询 orwhere()
$res = Info::find()->where(['id' => 44])
->count(); // ->one(); //Info.php 模型继承\yii\db\ActiveRecord find是\yii\db\ActiveRecord中的方法 $arr = Info::findBySql($sql)->asArray()->all(); //用原生 SQL 语句 $obj = Info::findOne(44); //id为44的一条数据 多条件查询 Info::findOne(['id'=>44,'title'=>'test']);
$title = $obj->title; $obj = Info::findAll(['44,45,46']); //id为44,45,46 多数据查询
好了,差不多了 就这样吧
yii2 增删改查的更多相关文章
- yii2增删改查及AR的理解
yii2增删改查 // 返回 id 为 1 的客户 $customer = Customer::findOne(1); // 返回 id 为 1 且状态为 *active* 的客户 $customer ...
- Yii2增删改查
Controller <?php namespace frontend\controllers; use frontend\models\User; use yii\data\Paginatio ...
- 原生YII2 增删改查的一些操作(非ActiveRecord)
1.添加数据 如下,使用insert方法:t_admin_user为数据表名..其他的是属性.. $num = Yii::$app->db->createCommand()->ins ...
- yii2增删改查操作
https://www.yiichina.com/tutorial/996 https://www.yiichina.com/tutorial/834 一.新增 使用model::save()操作进行 ...
- [YII2] 增删改查2
一.新增 使用model::save()操作进行新增数据 $user= new User; $user->username =$username; $user->password =$pa ...
- Yii2.0高级框架数据库增删改查的一些操作(转)
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
- Yii2.0高级框架数据库增删改查的一些操作
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
- YII2.0 数据库增删改查
/*==================== dkhBaseModel 数据库增删改查方法 start ================================*/ //新增一条数据 publ ...
- yii2.0增删改查实例讲解
yii2.0增删改查实例讲解一.创建数据库文件. 创建表 CREATE TABLE `resource` ( `id` int(10) NOT NULL AUTO_INCREMENT, `textur ...
随机推荐
- Spark 开发中遇到的一些问题
1.StackOverflowError 问题:简单代码记录 : for (day <- days){ rdd = rdd.union(sc.textFile(/path/to/day) ... ...
- Cleaver快速制作网页PPT
原文首发链接:http://www.jeffjade.com/2015/10/15/2015-10-16-cleaver-make-ppt/ 写在开始之前 互联网时代,以浏览器作为入口,已经有越来越多 ...
- WCF学习之旅—TCP双工模式(二十一)
WCF学习之旅—请求与答复模式和单向模式(十九) WCF学习之旅—HTTP双工模式(二十) 五.TCP双工模式 上一篇文章中我们学习了HTTP的双工模式,我们今天就学习一下TCP的双工模式. 在一个基 ...
- ERP软件的价格设计
ERP体现出信息流.资金流.物流在供应商.企业.客户间的运营方向,是以销售为源头,生产.物料需求计划为核心,以金额.实时数据为基础的整体.ERP的核心是MRP(物料需求).企业的经营活动最终是为了赢利 ...
- 实践 Neutron FWaaS - 每天5分钟玩转 OpenStack(118)
前面我们学习了 FWaaS 的理论知识,今天将通过实验来学习 FWaaS. 在我们的实验环境中,有两个 instance: cirros-vm1(172.16.100.3) 和 cirros-vm2( ...
- Notes:SVG(3)---滤镜和渐变
SVG滤镜使用filter标签来定义,该标签必须嵌套在defs元素里面,并且必须指定一个ID,以供引用. 在 SVG 中,可用的滤镜有: feBlend feColorMatrix feCompone ...
- 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍
一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...
- asp.net实现图片在线上传并在线裁剪
1.说明 接上一篇文章uploadify实现多附件上传完成后,又突然用到头像上传并在线裁剪.在网上找个众多例子都没有符合要求的,有一篇文章写的不错,就是文旺老兄写的这篇Asp.Net平台下的图片在线裁 ...
- 自己动手写计算器v1.1
这个改动主要是使用工厂模式替代了简单工厂模式,这样做的好处是如果以后我们要扩充其他运算时,就不用总是去修改工厂类, 这是可以采取工厂模式,主要是将原来简单工厂类的逻辑判断分离出来,将它作为一个借口,与 ...
- CodeMirror简介
Javascript由于其作为Web标准的独特地位,很多人甚至希望它能一统前后端开发. Javascript的本质工作首先肯定的Web前端开发,本文主要想介绍的CodeMirror是一款Web Edi ...