zoukankan      html  css  js  c++  java
  • yii2 增删改查

    自己总结的yii2 advanced 版本的简单的增删改查,希望对大家有所帮助

    1.gii生成的actionCreate()方法中 获取插入语句的id

    $id = $model->attributes['id']; //或$model->id;

    2.展示列表添加多选框 并设置属性

    ['class' => 'yiigridCheckboxColumn',
                    'checkboxOptions' => function($searchModel){
                        return ['aid' => $searchModel->id,'class'=>'chk'];
                    }
                ],
    

    1.使用yiidbCommand执行原生 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. 创建一个 yiidbQuery 对象来代表一条 SELECT SQL 语句的不同子句(例如  SELECTFROM )。
    2. 执行 yiidbQuery 的一个查询方法(例如: all() )从数据库当中检索数据
    $row = (newyiidbQuery())->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  模型继承yiidbActiveRecord   find是yiidbActiveRecord中的方法

    $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 多数据查询

    好了,差不多了  就这样吧

  • 相关阅读:
    征战蓝桥 —— 2016年第七届 —— C/C++A组第5题——消除尾一
    UVA 10410 Tree Reconstruction (树重建)
    UVA 12166 Equilibrium Mobile (修改天平)(dfs字符串表示的二叉树)
    UVA 1600 Patrol Robot (巡逻机器人)(bfs)
    UVA 712 STrees(S树)
    UVA 536 Tree Recovery (二叉树重建)
    Stall Reservations【贪心】【堆】
    Sunscreen【贪心】
    Sunscreen【贪心】
    Sunscreen【贪心】
  • 原文地址:https://www.cnblogs.com/ssfs/p/6248395.html
Copyright © 2011-2022 走看看