Php Yii2 findOne返回一个数组,但不是一个对象(ActiveRecord)

Php Yii2 findOne返回一个数组,但不是一个对象(ActiveRecord),php,activerecord,yii2,Php,Activerecord,Yii2,我试图使用模型的后发现方法 public function afterFind() { $group = GroupMember::findOne(1);; Yii::info($group->id); parent::afterFind(); } 错误是 正在尝试获取非对象的属性 我发现findOne返回一个带有列值的数组 我的问题是我做错了什么,或者只是在做了这个之后才发现 谢谢。查看文档

我试图使用模型的后发现方法

public function afterFind() {                


        $group = GroupMember::findOne(1);;

        Yii::info($group->id);

        parent::afterFind();
    }
错误是

正在尝试获取非对象的属性

我发现findOne返回一个带有列值的数组

我的问题是我做错了什么,或者只是在做了这个之后才发现

谢谢。

查看文档,无法返回数组


最有可能是id=1的记录不存在,您得到的是
null
afterFind()
和此无关。

@Awesome AP-这不是紧急语法错误(带“;”)

@阿罗加切夫-文件中说

通过主键或 列值数组

它确实返回了一个数组,但我不知道为什么

幸运的是我通过
$group=GroupMember::find(1)->one()修复了它


但是谢谢你们所有人帮助我。

这个问题很老了,但阿罗加切夫是对的。 findOne要么返回ActiveRecord,要么返回Null,则返回Null 关于文档,您阅读了方法描述,而不是它返回的内容,只需转到“结束”即可找到:

返回静态值| null
与条件匹配的ActiveRecord实例,如果没有匹配项,则为null

说明: 通过主键或列值数组返回单个活动记录模型实例。
这个短语不是很清楚,但它意味着可以作为查询筛选器传递一个id或一个列数组name=>value来用作查询筛选器。由于可以传递版本2.0.37表达式,因此出现语法错误:$group=GroupMember::findOne(1);;删除一个“;”。