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);;删除一个“;”。