yii学习笔记

£神魔★判官ぃ 2022-08-22 00:22 231阅读 0赞

yii2中更改默认控制器,在main.php中加入 ‘defaultRoute’ => ‘控制器名’,

  1. render渲染输出视图,renderpartial原样输出视图。
  2. yii验证Form表单:
  3. 后台接受前台post数据用 $model->load(Yii::$app->request->post()),即判断前台页面是否有post数据传递过来
  4. $model->load(Yii::$app->request->post() && $model->validate()) 即判断前台页面是否有post数据,以及对应的form表单验证是否通过。
  5. 表单验证在视图中需要引入表单验证的组件,use\\widgets\\ActiveForm,表单中用ActiveForm::begin()开始,结束处ActiveForm::end()
  6. 控制器中引入对定的表单验证规则。输出视图时,把引入的验证规则赋给一个变量输出到模版中,模版引用。
  7. 对应form表单的验证规则所写的字段必须要和form表单一致,否则页面不能提交或验证。
  8. Form表单验证中,可以指定用户所填内容格式和规则:
  9. return \[
  10. \[\['username'\],'required','message'=>'用户名不能为空'\],
  11. \['username','string','max'=>12,'tooLong'=>'不能超过12位'\]
  12. \['username','string','max'=>6,'tooShort'=>'不能低于6位'\]
  13. \[\['email'\],'required','message'=>'密码不能为空'\],
  14. \['username', 'unique', 'targetClass' => 'frontend\\models\\Pmd', 'message' => '用户名已经存在'\],
  15. \['email', 'unique', 'targetClass' => 'frontend\\models\\Pmd', 'message' => '邮箱已存在,请您更换邮箱'\],
  16. \['email','email','message' => '邮箱格式不正确'\],
  17. \];
  18. yii增删改查:
  19. yii中,在model下新建一个和表名一样的model文件,Yii会自动寻找该表。在控制器中选中model即选中表。$table=Modelname::find()。对应的操作成功后会有返回值,1为成功0为失败。我们可以根据判断返回值来查看数据操作是否成功。
  20. 查询操作:
  21. User::find()->all(); 此方法返回所有数据;
  22. User::findOne($id); 此方法返回 主键 id=1 的一条数据;
  23. User::find()->where(\['name' => 'username'\])->one(); 此方法返回 \['name' => 'username'\] 的一条数据;
  24. User::find()->where(\['name' => 'username'\])->all(); 此方法返回 \['name' => 'username'\] 的所有数据;
  25. User::findBySql('SELECT \* FROM user')->all(); 此方法是用 sql 语句查询 user 表里面的所有数据;
  26. User::findBySql('SELECT \* FROM user')->one(); 此方法是用 sql 语句查询 user 表里面的一条数据;
  27. User::find()->andWhere(\['sex' => '男', 'age' => '24'\])->count('id'); 统计符合条件的总条数;
  28. User::find()->one(); 此方法返回一条数据;
  29. User::find()->all(); 此方法返回所有数据;
  30. User::find()->count(); 此方法返回记录的数量;
  31. User::find()->average(); 此方法返回指定列的平均值;
  32. User::find()->min(); 此方法返回指定列的最小值
  33. User::find()->max(); 此方法返回指定列的最大值
  34. User::find()->scalar(); 此方法返回值的第一行第一列的查询结果;
  35. User::find()->column(); 此方法返回查询结果中的第一列的值;
  36. User::find()->exists(); 此方法返回一个值指示是否包含查询结果的数据行;
  37. User::find()->batch(10); 每次取 10 条数据
  38. User::find()->each(10); 每次取 10 条数据, 迭代查询
  39. 增加操作:
  40. http://blog.163.com/liu\_wen\_xin123/blog/static/112248632201241413519506/)
  41. $model = new User();
  42. $model->username = 'username';
  43. $model->age = '20';
  44. $model->insert();//当前控制器是user控制器,并有对应的model表。
  45. 删除操作:
  46. User::deleteAll('name = username'); 删除 name = username 的数据;
  47. User::findOne($id)->delete(); 删除主键为 $id变量 值的[数据库][Link 1];
  48. User::deleteAll('age > :age AND sex = :sex', \[':age' => '20', ':sex' => '1'\]); 删除符合条件的数据;
  49. 更新修改操作:
  50. 可使用原生sql更改数据:User::findBySql()。

发表评论

表情:
评论列表 (有 0 条评论,231人围观)

还没有评论,来说两句吧...

相关阅读

    相关 yii2登录笔记

    yii2高级模板中自带了登录注册功能,这里先记下登录功能的实现笔记 创建一张用户user表,里面需要根据user 的model文件进行更改一些字段名和添加,password

    相关 yii2学习笔记

    yii2 model 每个模型对应一张表,rules方法定义对应的字段格式,长度。attributeLabels设置对应字段名的默认显示名。 yii2 form 每个