yii ActiveRecord

在活动记录里自定义属性(数据表里没有的属性), 起初没有注意到问题. 在这个继承了activeRecord的模型中, 还自定义了很多方法,  此为前提.  出现的问题是: 使用属性获取不到数据库的字段, 会报错`unknown property, appcoursemodelsWxpay::appid`属性不存在的错误, 因为 Yii 会自动为关联表的每一列定义 Active Record 中的一个属性.  检查了一下数据库字段名和属性名没写错,  以为是自定义属性造成的, 所以把那些自定义的属性注释掉.  还是会报错. 上网查阅, 又试了一下

Yii::$app->db3->getSchema()->refreshTableSchema('wxpay_config'); //清理指定表结构缓存数据 Yii::$app->db3->getSchema()->refresh(); //清理所有表缓存数据 //还是不好使, 而且事后我特意去看了下,发现我并没有配置缓存 -_-#

我还重建了一下表, 还是不行. 后来在网上看到一个在活动记录里自定义属性的文章,  突然发现我的attributes 方法写错了, 我把这个方法重写了.  注释掉这个方法之后, 成功访问到属性了.  我本来写这个方法是对字段进行介绍的,  应该使用attributeLabels方法. 搞错了. 需要在研究研究attributes 方法.

原文地址:https://www.cnblogs.com/bneglect/p/11447283.html