当前位置:首页 > CMS教程 > 其它CMS > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-02 13:25:15 浏览: 评论:0 

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

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

Yii 数据库查询

模型代码:

  1. <?php 
  2. namespace app\models; 
  3. use yii\db\ActiveRecord; 
  4. class Test extends ActiveRecord{ 

控制器代码:

  1. public function actionTest(){ 
  2.   //方法一 
  3.   $sql = 'select * from test where id=:id'
  4.   $data = Test::findBySql($sql,array(':id'=>1))->all(); 
  5.   var_dump($data);//数组 
  6.   //方法二 
  7.   $data = Test::find()->where(['id'=>1])->all(); 
  8.   var_dump($data);//复杂的对象信息 
  9.   // 查询条件>的使用 
  10.   $data = Test::find()->where(['>','id',1])->all(); 
  11.   var_dump($data);//复杂的对象信息 
  12.   // 查询条件 between 的使用 
  13.   $data = Test::find()->where(['between','id',2,5])->all(); 
  14.   var_dump($data);//复杂的对象信息 
  15.   // 查询条件 like 的使用 
  16.   $data = Test::find()->where(['like','title','title1'])->all(); 
  17.   var_dump($data);//复杂的对象信息 
  18.   //查询结果对象转化为数组,使用asArray 
  19.   $data = Test::find()->where(['between','id',2,5])->asArray()->all(); 
  20.   var_dump($data);//复杂的对象信息 
  21.   //批量查询,例如每次获取2条 
  22.   $data = array(); 
  23.   foreach(Test::find()->asArray()->batch(2) as $tests){ 
  24.     foreach($tests as $val){ 
  25.       $data[] = $val
  26.     } 
  27.   } 
  28.   print_r($data); 

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

yii 数据库增加数据

模型代码:

  1. <?php 
  2. namespace app\models; 
  3. use yii\db\ActiveRecord; 
  4. class Test extends ActiveRecord{ 
  5.   public function rules() 
  6.   { 
  7.     return [ 
  8.       ['title','string','length'=>[0,10]] 
  9.     ]; 
  10.   } 

控制器代码:

  1. public function actionTest(){ 
  2.   //添加数据 
  3.   $test = new Test; 
  4.   $test->title = ''
  5.   $test->validate(); 
  6.   if ($test->hasErrors()) { 
  7.     echo 'error'
  8.   } else { 
  9.     $test->save(); 
  10.   } 

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

yii 数据库删除数据

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

Tags: Yii查询 Yii增加 Yii删除

分享到:

相关文章