[moka同学笔记]yii2.0查询数据库

  一、 [:id占位符]使用
         
 $results = Test::findBySql($sql,array(':id'=>'1 or 1=1))->all()
  二、 [id=1]  选出id为1的数据
         
 $results = Test::find()->where(['id'=>1])-all();

  三、  [id>0]  选出id>0的数据  

 $results = Test::find()->where(['>','id',0])->all()

  四、 [id>=1 并且id<=2]

 $results = Test::find()->where(['between','id',1,2])->all()

  五、[like] 查询出title中含有title1的数据

$results = Test::find()->where(['like','title','title1'])->all()

  六、[ 查询结果转换成数组]

          ->aeArray()
$results = Test::find()->where(['like','title','title1'])->asArray()->all()

  七、批量查询

 foreach( Test::find()->batch(2) as $tests){   //分批到数据库里拿数据,每次拿2条
       print_r(count($tests));                          //打印出所查询到的数据
 }
  八、删除数据
         方法一:      $results = Test::find()->where(['id'=>1])->all();  //查询出id为1的数据
                      $results[0]->delete();                              //删除查询出来的数据
          方法二:      Test::deleteAll();               //删除所以数据
                      Test::deleteAll('id>:id',array(':id'=>0));      //删除id>0的数据
  九、增加数据
          $test = new Test;
          $test->id=3;                    //给id赋值为3
          $test->title = 'title3';      //给title赋值为title3
          $test-save();                    //保存

   注~

        数据保存数据时候,需要验证,在model中可以使用rules()方法
        再在控制器中写
 $test->validate();
if($test->hasErrors()){
 echo 'data有错误!';
 die();
 }  

       十、数据的修改

          $test = Test::find()->where(['id'=>4])->one();
          $test->title = 'title4';
          $test->save();

  

 moka同学笔记转载请注明出处。QQ1727728211
 
 
我生活的地方,我为何要生活。
原文地址:https://www.cnblogs.com/hsd1727728211/p/5741649.html