yii2使用ActiveRecord类对数据库的操作

你的名字 2021-12-14 15:45 317阅读 0赞

ActiveRecord提供了一套面向对象的对数据库进行增删改查的方法,很实用,省去了select*的一系列操作

注意:一个ActiveRecord类对应一个数据表

首先来创建一个model,然后model内如下配置

  1. <?php
  2. namespace frontend\models;
  3. use yii\db\ActiveRecord;
  4. class Userinfo extends ActiveRecord
  5. {
  6. //这里来配置连接的表名
  7. public static function tableName()
  8. {
  9. return 'userinfo';
  10. }
  11. }

下面就可以开始对username表进行操作了

1.find()方法的使用

  1. //获取表中所有数据信息并数组化
  2. public static function getallusermsg()
  3. {
  4. $model = self::find() -> asArray() -> all();
  5. return $model;
  6. }
  7. //按条件查询
  8. public static function getusermsg($username)
  9. {
  10. $model = self::find() -> asArray() -> where(['username' => $username]) -> one();
  11. return model;
  12. }
  13. //数据库添加
  14. public static function setusermsg($userinfo)
  15. {
  16. $userinfotable = new userinfo;
  17. $userinfotable->username = $userinfo['username'];
  18. $userinfotable->password = $userinfo['password'];
  19. $userinfotable->role = $userinfo['role'];
  20. if ($userinfotable->save()) {
  21. return ['code' => 200,'message' => '注册成功!'];
  22. } else {
  23. return ['code' => 201,'message' => '注册失败!'];
  24. }
  25. }
  26. //数据库更新
  27. public static function setusermsg($username)
  28. {
  29. $model = self::find() -> asArray() -> where(['username' => $username]) -> one();
  30. $model->username = 'suibian';
  31. if ($model->save()) {
  32. return ['code' => 200,'message' => '注册成功!'];
  33. } else {
  34. return ['code' => 201,'message' => '注册失败!'];
  35. }
  36. }
  37. //数据库删除
  38. public static function setusermsg($username,$password)
  39. {
  40. $model = self::find() -> where(['username' => $username,'password' => $password]) -> one();
  41. if ($model->delete()) {
  42. return ['code' => 200,'message' => '注册成功!'];
  43. } else {
  44. return ['code' => 201,'message' => '注册失败!'];
  45. }
  46. }

注:self为改类,asArray()是将所查数据数组化

2.ActiveRecord类常用的方法

all()/one() ——-返回一条还是所有

orderBy()/andOrderBy() ——- 对数据进行排序

count() ——-返回查询条件下的数据条数

with() ——-指定关联表的字段

where()/andWhere()/orWhere() —— 条件查询

发表评论

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

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

相关阅读