Yii 有问题。我在控制器中有以下代码:
...
$user = User::model()->find("user_id = :id AND type='1'", array('id'=>$user->id));
$user->time=new CDbExpression('NOW()');
$user->status=1;
$user->save();
...
我得到这个错误:
调用未定义的方法 stdClass::save()
怎么了?
Yii 有问题。我在控制器中有以下代码:
...
$user = User::model()->find("user_id = :id AND type='1'", array('id'=>$user->id));
$user->time=new CDbExpression('NOW()');
$user->status=1;
$user->save();
...
我得到这个错误:
调用未定义的方法 stdClass::save()
怎么了?
oo我看到你需要测试你是否有一个用户只是这样做:
if($user)
您的模型是否扩展了 CactiveRecord ?
您应该显示错误以了解问题所在
if(!$user->save()){
var_dump($user->getErrors());
}
这会有帮助
你的错误是经典的,知道到底出了什么问题!这是一个可能是您的错误原因的问题:
当您找到您的用户时,如果它没有找到它,该方法将返回false
,那么其余操作将失败。您应该执行以下操作:
$user = User::model()->find("user_id = :id AND type='1'", array('id'=>$user->id));
if($user !== null) {
$user->time=new CDbExpression('NOW()');
$user->status=1;
$user->save();
}
if ($model->load(Yii::$app->request->post())) {
$model->startDate = $modifiedStartDate;
$model->timeFrom = $modifiedFromTime;
$model->timeTo = $modifiedToTime;
//echo '<pre>';
//print_r($model);exit;
$model->save();
//return $this->redirect(['view', 'id' => $model->id]);
return $this->redirect(['timelog/index']);
} else {
return $this->render('create',
[
'model' => $model,
]);
}
//为什么在使用 $method->save() 时会出现错误;功能。