mydzoo
- mydzoo 2019-03-01 已签到连续签到1天,获得了5个金钱
- mydzoo 2019-02-27 已签到连续签到1天,获得了5个金钱
- mydzoo 2019-02-25 已签到连续签到2天,获得了10个金钱
- mydzoo 2019-02-24 已签到连续签到1天,获得了5个金钱
- mydzoo 2019-02-22 已签到连续签到1天,获得了5个金钱
- mydzoo 回复了 return19931112 的回答
去掉
asArray
,用对象的形式获取avatar
字段的值,因为 Yii2 底层的\yii\db\ActiveQueryTrait::findWith
方法if ($relation->asArray === null) { // inherit asArray from primary query $relation->asArray($this->asArray); }
all
方法最后会调用\yii\db\ActiveQuery::populate
if (!$this->asArray) { foreach ($models as $model) { $model->afterFind(); } }
所以会出现你遇到的情况。综上所述,直接用对象访问就可以解决
@return19931112 看了下文档,应该用重写fileds方法更合适,但是依然在with()中无法生效;截图已经补充