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 ...
随机推荐
- Centos6.5中安装和配置vsftp详细总结
一.vsftp安装篇 #查看是否安装:rpm -qa|grep vsftpd#卸载vsftpdrpm -e vsftpd-2.2.2-11.el6_3.1x86_64 --nodeps# 安装vsft ...
- SQL Server 远程连接出错~~~无法访问服务器
异常处理汇总 ~ 修正果带着你的Net飞奔吧!http://www.cnblogs.com/dunitian/p/4599258.html 代理开一下 tcp/ip协议开一下 收工
- 【Win 10应用开发】分阶段进行数据绑定
使用x:Bind扩展标记进行数据绑定,是在编译阶段完成,至于说性能优化方面,大概主要是优化CPU资源的使用,因为免去了运行阶段进行绑定的过程.当然,使用这个标记仅仅是绑定上的优化,并不包括数据源.数据 ...
- 详细解说 STL 排序(Sort)
0 前言: STL,为什么你必须掌握 对于程序员来说,数据结构是必修的一门课.从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来.幸运的是这些理论都已经比较成熟,算 ...
- 2. Struts2 基础
1. Struts2简介 Struts2是一个WEB端MVC框架.作为比较早的MVC 框架之一,Struts2在使用中还是比较多的.虽然个人感受没有SpringMVC还那么的好用 Struts2 官网 ...
- Chrome在302重定向的时候对原请求产生2次请求的问题说明
这个问题应该确确实实是一个Chrome的BUG,我在自己的编程环境中发现,并在多个服务器,多个编程语言的运行环境,以及多个浏览器下都测试过,都看到有2次请求出现.为了证明不是自己环境的问题,我也特意去 ...
- 你真的会玩SQL吗?和平大使 内连接、外连接
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...
- 原生JS实现全屏切换以及导航栏滑动隐藏及显示——重构前
思路分析: 向后滚动鼠标滚轮,页面向下全屏切换:向前滚动滚轮,页面向上全屏切换.切换过程为动画效果. 第一屏时,导航栏固定在页面顶部,切换到第二屏时,导航条向左滑动隐藏.切换回第一屏时,导航栏向右滑动 ...
- How do servlets work-Instantiation, sessions, shared variables and multithreading[reproduced]
When the servletcontainer (like Apache Tomcat) starts up, it will deploy and load all webapplication ...
- iOS 原生HTTP POST请求上传图片
今天项目里做一个上传图片等个人信息的时候,使用了第三方AFNetworking - (AFHTTPRequestOperation *)POST:(NSString *)URLString param ...