自己总结的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.查询构建器 使用查询构建器通常包含以下两个步骤:

  1. 创建一个 yii\db\Query 对象来代表一条 SELECT SQL 语句的不同子句(例如  SELECTFROM )。
  2. 执行 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 增删改查的更多相关文章

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

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

  2. Yii2增删改查

    Controller <?php namespace frontend\controllers; use frontend\models\User; use yii\data\Paginatio ...

  3. 原生YII2 增删改查的一些操作(非ActiveRecord)

    1.添加数据 如下,使用insert方法:t_admin_user为数据表名..其他的是属性.. $num = Yii::$app->db->createCommand()->ins ...

  4. yii2增删改查操作

    https://www.yiichina.com/tutorial/996 https://www.yiichina.com/tutorial/834 一.新增 使用model::save()操作进行 ...

  5. [YII2] 增删改查2

    一.新增 使用model::save()操作进行新增数据 $user= new User; $user->username =$username; $user->password =$pa ...

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

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

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

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

  8. YII2.0 数据库增删改查

    /*==================== dkhBaseModel 数据库增删改查方法 start ================================*/ //新增一条数据 publ ...

  9. yii2.0增删改查实例讲解

    yii2.0增删改查实例讲解一.创建数据库文件. 创建表 CREATE TABLE `resource` ( `id` int(10) NOT NULL AUTO_INCREMENT, `textur ...

随机推荐

  1. js变量声明作用域问题

    1.先来看两个题 var a = 1; foo1(); function foo1(){ console.log(a); //输出1 }; foo2(); var a = 1; function fo ...

  2. Jquery初学

    Jquery相当于JS的升级版它俩语法是一样的,把JS的很多功能封装了起来,用的也是JS语言写的,也支持JS的语法,可以混着使用,用起来方便简单 用Jquery的时候要引用一个Jquery包 带min ...

  3. javaEE设计模式——门面模式

    1.本节内容 门面模式的意图介绍 门面模式带来的好处 门面模式的应用场景 实现模式的3中方式:POJO.无状态与有状态回话Bean门面 有状态与无状态回话Bean门面的重要差别 关于门面模式使用的警告 ...

  4. Webpack从入门到上线

    webpack是目前一个很热门的前端打包工具,官网说得很清楚,webpack的出现就是要把requirejs干掉.同时它还提供了十分便利的本地开发的环境.网上并不容易找到一个讲解得比较详细完整的教程, ...

  5. ASP.NET Core 中文文档 第三章 原理(13)管理应用程序状态

    原文:Managing Application State 作者:Steve Smith 翻译:姚阿勇(Dr.Yao) 校对:高嵩 在 ASP.NET Core 中,有多种途径可以对应用程序的状态进行 ...

  6. 利用Python进行数据分析(1) 简单介绍

    一.处理数据的基本内容 数据分析 是指对数据进行控制.处理.整理.分析的过程. 在这里,“数据”是指结构化的数据,例如:记录.多维数组.Excel 里的数据.关系型数据库中的数据.数据表等. 二.说说 ...

  7. 让BASH,VIM美美的Powerline

    前言  鉴于BASH及其周边强大的工具以及VIM高效快捷,加上现在我工作重心转移到前端开发上,因此我华丽地转向Linux阵营(当然从最傻瓜式的Ubuntu开始啦!).但BASH和VIM默认样式确实颜值 ...

  8. ASP.NET五步打包下载Zip文件

    本文版权归博客园和作者吴双共同所有,转载和爬虫请注明原文地址:www.cnblogs.com/tdws 首先分享几个振奋人心的新闻: 1.谷歌已经宣布加入.NET基金会 2.微软加入Linux基金会, ...

  9. Aspose.Words简单生成word文档

    Aspose.Words简单生成word文档 Aspose.Words.Document doc = new Aspose.Words.Document(); Aspose.Words.Documen ...

  10. EC笔记:第4部分:18、接口正确使用,不易被误用

    好的接口容易被正确使用,不易被误用 考虑以下函数: void func(int year,int month,int day){ //一些操作 } 这个函数看似合理,因为参数的名字已经暴露了它的用途. ...