Yii框架数据库查询、增加、删除操作示例

2020-10-20 14:59:29 浏览数 (1)

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

Yii 数据库查询

模型代码:

代码语言:javascript复制
<?php
namespace appmodels;
use yiidbActiveRecord;
class Test extends ActiveRecord{
}

控制器代码:

代码语言:javascript复制
  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 数据库增加数据

模型代码:

代码语言:javascript复制
<?php
namespace appmodels;
use yiidbActiveRecord;
class Test extends ActiveRecord{
  public function rules()
  {
    return [
      ['title','string','length'= [0,10]]
    ];
  }
}

控制器代码:

代码语言:javascript复制
  public function actionTest(){
    //添加数据
    $test = new Test;
    $test- title = '';
    $test- validate();
    if ($test- hasErrors()) {
      echo 'error';
    } else {
      $test- save();
    }
  }

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

yii 数据库删除数据

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

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

0 人点赞