yii中ActiveRecord问题?
我的 User
类继承 ActiveRecord
类:
然后查询数据:
然后我打印user
对象结果:
就是user
对象关联数据表字段的属性值全为NULL
,但私有属性attributes
却有对应值,请问这是什么问题?我如何才能像$user->username
这样方式去访问到数据呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
把你手动添加的属性删掉,直接获取,应该是调用 getter 自动去取的。
没用过yii,但框架的orm实现上原理应该是类似的,框架会将查询结果放在某个类属性中,看你的打印结果,应该是放到attributes属性里,在获取时通过实现__get方法去访问attributes属性,简单的实现如下
经过上面的实现,在访问id时就可以直接访问$obj->id,这个访问的过程如下
查找$obj对象有没有public声明的id属性,如果没有,会走__get方法,判断到attributes属性里有id,则将其返回。
__set方法类似。
当然,框架的orm的实现肯定更加复杂,有更多的过滤验证机制,这个就得你自己去读框架源码了。