这篇文章主要介绍了Yii框架数据库查询、增加、删除操作,结合实例形式总结分析了Yii框架数据库查询、增加、删除相关模型与控制器使用,需要的朋友可以参考下

本文实例讲述了Yii框架数据库查询、增加、删除操作。分享给大家供大家参考,具体如下:

Yii 数据库查询

模型代码:

<?php
namespace app\models;
use yii\db\ActiveRecord;
class Test extends ActiveRecord{
}

控制器代码:

  public function actionTest(){
    //方法一
    $sql = 'select * from test where id=:id';
    $data = Test::findBySql($sql,array(':id'=>1))->all();
    var_dump($data);//数组
    //方法二
    $data = Test::find()->where(['id'=>1])->all();
    var_dump($data);//复杂的对象信息
    // 查询条件>的使用
    $data = Test::find()->where(['>','id',1])->all();
    var_dump($data);//复杂的对象信息
    // 查询条件 between 的使用
    $data = Test::find()->where(['between','id',2,5])->all();
    var_dump($data);//复杂的对象信息
    // 查询条件 like 的使用
    $data = Test::find()->where(['like','title','title1'])->all();
    var_dump($data);//复杂的对象信息
    //查询结果对象转化为数组,使用asArray
    $data = Test::find()->where(['between','id',2,5])->asArray()->all();
    var_dump($data);//复杂的对象信息
    //批量查询,例如每次获取2条
    $data = array();
    foreach(Test::find()->asArray()->batch(2) as $tests){
      foreach($tests as $val){
        $data[] = $val;
      }
    }
    print_r($data);
  }

总结,主要注意防止sql注入的占位符的使用,各种查询条件的使用,转化数组的使用,批量查询的使用。

yii 数据库增加数据

模型代码:

<?php
namespace app\models;
use yii\db\ActiveRecord;
class Test extends ActiveRecord{
  public function rules()
  {
    return [
      ['title','string','length'=>[0,10]]
    ];
  }
}

控制器代码:

  public function actionTest(){
    //添加数据
    $test = new Test;
    $test->title = '';
    $test->validate();
    if ($test->hasErrors()) {
      echo 'error';
    } else {
      $test->save();
    }
  }

结论:保存数据及验证数据。

yii 数据库删除数据

 public function actionTest(){
    //删除
    //方法一
    $result = Test::find()->where(['id' => 1])->all();
    $result[0]->delete();
    //方法二
    Test::deleteAll('id>:id', array(':id' => 5));
  }

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

最新资讯
诺基亚手机制造商HMD获谷歌和高通2.3亿美元投资

诺基亚手机制造商HMD

诺基亚手机制造商HMD Global今日宣布,已从谷歌、高通和
财报解读|”鱼虎”合并尾声纷争:无限拉进+月活逆转

财报解读|”鱼虎”合

合并不等于终局,在新的竞争环境下,斗鱼、虎牙又如何合力
富士康工业富联2020年上半年营收1766.5亿元 净利同比下滑

富士康工业富联2020年

富士康工业富联在2020年上半年实现收入176.65亿元,同比
雷军:小米智能工厂已投产 自动化生产线年产能百万台

雷军:小米智能工厂已投

雷军表示,小米智能工厂位于北京亦庄,目前投产的为第一期
全球富豪榜风云变幻 科技大佬与巴菲特日进斗金

全球富豪榜风云变幻

今年年初以来,科技企业股价大涨,让扎克伯格、马斯克等人
解读蔚来汽车财报:毛利率首次转正 但竞争力却下滑了?

解读蔚来汽车财报:毛利

跟蔚来ec6一样,未来两个季度对于蔚来汽车来说,同样是非
最新文章
Laravel框架Blade模板简介及模板继承用法分析

Laravel框架Blade模板

这篇文章主要介绍了Laravel框架Blade模板简介及模板继
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】

Laravel框架基础语法

这篇文章主要介绍了Laravel框架基础语法与知识点整理,
Laravel框架Eloquent ORM删除数据操作示例

Laravel框架Eloquent

这篇文章主要介绍了Laravel框架Eloquent ORM删除数据
Laravel框架下载,安装及路由操作图文详解

Laravel框架下载,安装

这篇文章主要介绍了Laravel框架下载,安装及路由操作,结
Laravel框架Eloquent ORM修改数据操作示例

Laravel框架Eloquent

这篇文章主要介绍了Laravel框架Eloquent ORM修改数据
Laravel框架控制器,视图及模型操作图文详解

Laravel框架控制器,视

这篇文章主要介绍了Laravel框架控制器,视图及模型操作,