活动记录 Active Record

Active Record(AR)提供面向对象的数据库访问方式,用于声明与数据表关联的类并操作数据。通过扩展yiidbActiveRecord,定义tableName方法来指定数据表。AR支持查询构造器和数据验证,并提供了findOne、findAll等方法获取实例。关联数据查询可通过hasOne、hasMany定义,中间关联表通过via或viaTable处理。延迟加载和即时加载分别对应惰性加载和贪婪加载,影响性能。了解这些概念有助于高效使用AR进行数据库操作。
摘要由CSDN通过智能技术生成

AR提供了一个面向对象的接口, 用以访问数据库中的数据。

声明 AR 类

要想声明一个 AR 类,你需要扩展 yii\db\ActiveRecord 基类, 并实现 tableName 方法,返回与之相关联的的数据表的名称。如果包含表前缀就使用{ {%tableName}}的方式。

访问列数据

AR访问数据就像访问public的属性一样,不过源码层面并不是public的。

建立数据库连接

AR 用一个 yii\db\Connection 对象与数据库交换数据。 默认的,它使用 db 组件作为其连接对象。如果需要让 AR 类使用不同的数据库链接(DB connection) ,可以覆盖掉 yii\db\ActiveRecord::getDb() 方法。

查询数据

AR 提供了两种方法来构建 DB 查询:

yii\db\ActiveRecord::find()
yii\db\ActiveRecord::findBySql()

以上两个方法都会返回 yii\db\ActiveQuery 实例,该类继承自yii\db\Query,也就是查询构造器,通过查询构造器产生强大的查询能力。

返回AR实例

有两个快捷静态方法:findOne 和 findAll() 用来返回一个或者一组ActiveRecord实例。前者返回第一个匹配到的实例,后者返回所有。

操作数据

AR 提供以下方法插入、更新和删除与 AR 对象关联的那张表中的某一行:

yii\db\ActiveRecord::save()
yi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值