一、 [: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