Yii框架。无法保存模型

时间:2013-10-11 14:55:17

标签: php yii frameworks

我对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()

怎么了?

3 个答案:

答案 0 :(得分:3)

我发现你需要测试你是否有用户 只是做:

if($user)

你的模型是否出现了CactiveRecord?

你应该显示错误以了解错误

if(!$user->save()){
   var_dump($user->getErrors());
}

这将是有帮助的

答案 1 :(得分:1)

你的错误是经典到knwo究竟出了什么问题!这是一个可能导致错误的问题:

当您找到您的用户时,如果找不到该用户,该方法将返回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();
}

答案 2 :(得分:0)

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-&gt; save()时发生错误的原因功能