当前位置: 首页 > 工具软件 > ActiveRecord > 使用案例 >

Yii2 之数据库模型 ActiveRecord 常用用法

诸葛砚
2023-12-01

▪ 简介

ActiveRecord 直译为 活动记录,以下简称 AR。一个 AR 类关联一张数据表, 每个 AR 对象对应表中的一行,对象的属性(即 AR 的特性 Attribute )映射到数据行的对应列。更详细的资料参见 官方手册

▪ 常用的静态方法

# 定义类
class Customer extends ActiveRecord
{
    // ...
}

官方手册 里简单的介绍了 AR 的常用用法,包括 new 和 静态 方法的使用:

  • new Customer(); 通过 new 一个 AR 类对象方式 使用时,其操作都是基于数据表中的一条记录
  • Customer::all(); 通过 AR 类的 静态 方式使用时,其操作都是基于整个数据表

常用静态方法:


# 返回所有数据
Customer::find()->all();

# 返回主键 'id'='1' 的一条数据
Customer::findOne($id);

# 返回 'name'='小伙儿' 的一条数据
Customer::find()->where(['name'=>'小伙儿'])->one();

# 返回 'name'='小伙儿' 的所有数据
Customer::find()->where(['name'=>'小伙儿'])->all();

# 返回所有数据(按 id 降序)
Customer::find()->orderBy('id DESC')->all();

# 用 SQL 语句查询 customer 表里面的所有数据
Customer::findBySql('SELECT * FROM user')->all();

# 用 SQL 语句查询 customer 表里面的一条数据
Customer::findBySql('SELECT * FROM user')->one();

# 返回 'sex'='男' 并且 'age'='24' 的数据统计
Customer::find()->andWhere(['sex'=>'男','age'=>'24'])->count('id');

# 返回 'sex'='%男%' 的所有数据
Customer::find()->andWhere(['like','sex','男'])->all();

# 返回 'sex'='%男' 的所有数据
Customer::find()->andWhere(['like','sex','%男',false])->all();

# 返回一条数据
Customer::find()->one();

# 返回所有数据
Customer::find()->all();

# 返回所有数据的数量
Customer::find()->count();

# 返回所有数据的第一列
Customer::find()->column();

# 返回 SQL 语句
Customer::find()->createCommand()->getRawSql();
 类似资料: