hemaojie
- hemaojie 2020-11-19 已签到连续签到1天,获得了5个金钱
- hemaojie 2017-04-14 已签到连续签到1天,获得了5个金钱
- hemaojie 2016-07-20 已签到连续签到1天,获得了5个金钱
- hemaojie 2016-05-16 已签到连续签到1天,获得了5个金钱
- hemaojie 2016-03-16 已签到连续签到1天,获得了5个金钱
- hemaojie 赞了回答
Active Record (活动记录,以下简称AR)提供了一个面向对象的接口, 用以访问数据库中的数据。一个 AR 类关联一张数据表, 每个 AR 对象对应表中的一行,对象的属性(即 AR 的特性Attribute)映射到数据行的对应列。 一条活动记录(AR对象)对应数据表的一行,AR对象的属性则映射该行的相应列。 您可以直接以面向对象的方式来操纵数据表中的数据
Model 模型是 MVC 模式中的一部分, 是代表业务数据、规则和逻辑的对象。可通过继承 yii\base\Model 或它的子类定义模型类
Model 类是高级模型Active Record活动记录的基类
class ActiveRecord extends BaseActiveRecord{ }
然后:BaseActiveRecord继承Model
abstract class BaseActiveRecord extends Model implements ActiveRecordInterface { }
所以说,ActiveRecord是Model的子类
关于什么时候用,我说下我个人的理解:如果你需要跟数据库打交道,那你继承ActiveRecord,否则,你继承Model,当然,由于AR继承自Model,所以它同样也支持Model的数据输入、验证等特性。如果你看了官方提供的例子,你会发现,登录的时候,是有一个LoginForm的model,它就是直接继承Model的。而验证用户名密码则交给继承ActiveRecord的AR类。
LoginForm只做验证,而不跟数据库打交道,而AR的实现类跟数据库打交道。。
表达能力有限..... 其实你看看官方提供的例子,你大概知道什么时候继承ActiveRecord什么时候继承Model
@javalzbin 回答的很详细,赞一个!
- hemaojie 回复了话题 【济南】急求php工程师一枚
发简历的怎么跑到这么来了?
- hemaojie 回复了话题 YII2连接数据库,出现了PDO问题
是不是数据库密码不对,没有连接上啊!