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 ...
随机推荐
- Atitit 输入法原理与概论ati use
Atitit 输入法原理与概论ati use 1.1. 输入法技术点1 1.2. 参考多多输入法设置2 1.3. Attilax博客集合知识点2 1.4. 输入法的书籍当当几乎没有..都是打字的.2 ...
- Android-RecyclerView
众所周知,RecyclerView是Google公司推出的V7包中的一个重要的控件,非常方便,可以替代现有的ListView和Gridview等控件,它功能很强大,灵活性好,扩展性强,还自带VIewH ...
- 【Win10 应用开发】集成文件打开选择器
有朋友给老周提出建议:老周,能不能在写博客时讲一下有深度的小故事?技术文章谁不会写.讲一下对人生有启发性的故事会更好. 哎呀,这要求真是越来越高了.好吧,尽量吧,如果有小故事的话,老周在就每次写博客时 ...
- 前端学HTTP之客户端识别和cookie
前面的话 Web服务器可能会同时与数千个不同的客户端进行对话.这些服务器通常要记录下它们在与谁交谈,而不会认为所有的请求都来自匿名的客户端.本文主要介绍客户端识别及cookie机制 HTTP首部 HT ...
- 【干货】”首个“ .NET Core 验证码组件
前言 众所周知,Dotnet Core目前没有图形API,以前的System.Drawing程序集并没有包含在Dotnet Core 1.0环境中.不过在dotnet core labs项目里可以见到 ...
- 小萝贝控机大师工具推荐(一款在PC就能控制手机界面的工具)
在一次写博客的过程中,要截取手机app上的几张图片,然后粘贴到博客里面去,不了解这个工具的时候,我就从手机上截图(使用其他的截图app或者使用手机自己的截图功能),然后再传送到电脑上,然后再放到博文中 ...
- Java程序猿 :2016 年终小结
01 2016年即将进入尾声,不禁感叹,在学校的时候过日子是以天来算,而现在是以星期来算,甚至是月份. 这才发现,时间过得真快.这一年,遇到了很多人,很多事. 机缘巧合,年中去了趟帝都,爬了长城,游了 ...
- 网络爬虫:使用Scrapy框架编写一个抓取书籍信息的爬虫服务
上周学习了BeautifulSoup的基础知识并用它完成了一个网络爬虫( 使用Beautiful Soup编写一个爬虫 系列随笔汇总 ), BeautifulSoup是一个非常流行的Python网 ...
- 十五天精通WCF——第一天 三种Binding让你KO80%的业务
转眼wcf技术已经出现很多年了,也在.net界混的风生水起,同时.net也是一个高度封装的框架,作为在wcf食物链最顶端的我们所能做的任务已经简单的不能再简单了, 再简单的话马路上的大妈也能写wcf了 ...
- Fragment
Fragment 是轻量级的,比Activity 快,适合同一个APP 内页面的跳转. 1: 在MainActivity 中启动一个fragment BlankFragment: public cl ...