表单验证的每个具体参数:
可以查阅 网址:http://www.yiiframework.com/doc-2.0/yii-validators-validator.html
验证的自定义方法
在模型文件的rules函数里
public function rules(){
return[
[‘username’,’check’,‘params’=>[‘message’ =>’不是等于mrs’ ]]
]
public function check($attribute,$params){
if($this->$attribute != ‘mrs’){
$this->addError($attribute,$params[‘message’]);
}
}
获取验证错误
$model= new Article();
if($model->validate()){
print_r($model->getError());
}
?>
关于数据库操作
ActiveRecord类型的增删改查
① \app\models\Article::findAll([‘status’=>’1’]);//查询Article,status为1的所有数据
② \app\models\Article::findOne(1);//直接根据id查询
\app\models\Article::findOne([‘status’=>’1’]);//根据指定条件查询
③\app\models\Article::find()->where([‘id’ =>’1’])->one();//查询一条id等于1的数据
\app\models\Article::find()->where([‘status’ =>’1’])->all();//查询一条status等于1的所有数据
或
\app\models\Article::find()->where(‘status=:status’,[‘:status’=>’1’])->all();
\app\models\Article::find()->where([‘status’ =>’1’])->orderBy(‘dateDESC’)->all();//查询status等于1的数据,根据date 排序
\app\models\Article::find()->where([‘status’ =>’1’])->orderBy(‘dateDESC’)->offset[5]->limit[3]->all();//查询status等于1的数据,根据date 排序
④更新一条数据
$article =\app\models\Article::findOne(1);
$article->title= ‘change title’;
//save函数第一个参数默认为true,就是更新或插入启动验证
//如果不想使用验证可以用save(false);
$article->save();
⑤更新指定属性updateAll(‘更新的属性’;’条件’)
\app\models\Article::updateAll([‘title’=>’change title’,[‘id’=>1]);
⑥添加一条新数据
$article=new \app\models\Article();
$article->title=’new one’;
$article->content=’this is new’;
$article->save();
⑦删除一条数据
\app\models\Article::findOne(1)->delete();
⑧删除指定条件的数据
\app\models\Article::deleteAll([‘id’=>2]);
\yii\db\Query查询数据
$db=new \yii\db\Query;
//查询一条id等于2的数据
$db->select(‘id’)->from(‘mrs_article’)->where(‘id=:id’,[‘:id’=>2])->one();
$db->select(‘id’)->from(‘mrs_article’)->where([‘id’=>1])->one();
//查询多条
$db->select(‘id’)->from(‘mrs_article’)->where([‘status’=>’1’])->all();
//in查询多条
$db->select(‘id’)->from(‘mrs_article’)->where([‘id’=>[1,2]])->all();
//根据时间排序,并且从第5条开始获取3条
$db->select(‘id’)->from(‘mrs_article’)->orderBy(‘dateDESC’)->offset(5)->limit(3)->all();
//查询数据总个数
$db->select(‘id)->from(‘mrs_article’)->count();
Yii::$app->db进行增删改查
① 查询数据
//查询一条数据
\Yii:$app->db->createCommand(‘SELECT* FROM mrs_article’)->queryOne();
//绑定单个防注入参数
\Yii::$app->db->createCommand(‘SELECT *FROM mrs_article where id=:id)->bindValue(‘:id’,2)->queryOne();
//绑定多个防注入参数
\Yii::$app->db->createCommand(‘SELECT *FROM mrs_article where id=:id AND status=:status’)->bindValues([‘:id’=>1,’:status’=>’1’])->queryOne();
//查询多条数据
\Yii::$app->db->createCommand(‘SELECT* FROM mrs_article’)->queryAll();
//查询指定数据的字段的数据
$db=\Yii::$app->db;
$db->createCommand(‘SELECT COUNT(*) FROMmrs_article’)->queryScalar();
② 更新数据
$db=\Yii::$app->db->createCommand();
$db->update(‘mrs_article’,[‘status’=>0],’id=:id’,[‘:id’=>1])->execute();
表名 要更新的字段 条件
③ 插入数据
$db=\Yii:$app->db->createCommand();
$db->insert(‘mrs_article’,[‘title’=>’newRecord’])->execute();
④ 删除数据
$db=\Yii::$app->db->createCommand();
$db->delete(‘mrs_article’,’id=:id’,[‘:id’=>1])->execute();