我有以下控制器逻辑,它返回'非对象错误'
一旦我添加用户第二行就会发生这种情况....任何想法?
$parentuser = new MyparentsMyuser::model()->findAll();
$parentuser->setAttributes(array(
'user_id' => Yii::app()->controller->user->id,
'parent_id' => 4259
));
答案 0 :(得分:2)
我认为你有这个错误,因为有一些输入错误。
$parentuser = new MyparentsMyuser::model()->findAll();
替换为
$parentuser = MyparentsMyuser::model()->findAll();
答案 1 :(得分:1)
您缺少任何开发的黄金规则之一:检查您的结果。
代码中的第一行应该返回一个模型数组或一个空数组。
// findAll() Returns an array of results.
// Wrong !! You are combining new and findall
// $parentuser = new MyparentsMyuser::model()->findAll();
$parentuser = MyparentsMyuser::model()->findAll();
然后,考虑到我对预期回报值的评论,第2行的使用无效。
// Wrong!! You cannot apply the setAttributes() method to an array.
$parentuser->setAttributes( ...);
因此,您必须解析数组并将setAttributes应用于每个元素,如果这是您想要的。