自己总结的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. Android开发学习之路-Android中使用RxJava

    RxJava的核心内容很简单,就是进行异步操作.类似于Handler和AsyncTask的功能,但是在代码结构上不同. RxJava使用了观察者模式和建造者模式中的链式调用(类似于C#的LINQ). ...

  2. SQL统计

    --按周统计SELECT TOP 10DATENAME(year,AddDate) 年,DATENAME(week,AddDate) 周,COUNT(1) 单量,SUM(total) 总金额,AVG( ...

  3. .NET Core RC2发布在即,我们试着用记事本编写一个ASP.NET Core RC2 MVC程序

    在.NET Core 1.0.0 RC2即将正式发布之际,我也应应景,针对RC2 Preview版本编写一个史上最简单的MVC应用.由于VS 2015目前尚不支持,VS Code的智能感知尚欠火候,所 ...

  4. 2. Struts2 基础

    1. Struts2简介 Struts2是一个WEB端MVC框架.作为比较早的MVC 框架之一,Struts2在使用中还是比较多的.虽然个人感受没有SpringMVC还那么的好用 Struts2 官网 ...

  5. 【前端安全】JavaScript防http劫持与XSS

    作为前端,一直以来都知道HTTP劫持与XSS跨站脚本(Cross-site scripting).CSRF跨站请求伪造(Cross-site request forgery).但是一直都没有深入研究过 ...

  6. YYModel 源码解读(二)之NSObject+YYModel.h (2)

    _YYModelMeta   这个内部的类主要是对这个类的描述.包含了和此类转换相关的数据. /// A class info in object model. @interface _YYModel ...

  7. 你真的会玩SQL吗?Case也疯狂

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  8. Moon.Orm 配置说明

    一.在线技术文档: http://files.cnblogs.com/files/humble/d.pdf   二.使用的大致流程   1.首先下载代码生成器,可以一键生成项目Model层;(其中含有 ...

  9. MFC背景透明

    # 一: # typedef BOOL (WINAPI *lpfnSetLayeredWindowAttributes)(HWND hWnd, COLORREF crKey, BYTE bAlpha, ...

  10. MahApps.Metro使用

    # MahApps.Metro使用 # ## 下载MahApps.Metro ## PM> Install-Package MahApps.Metro ## MainWindow.xaml中添加 ...