【问题标题】:How to change $model->attributes value in controller - Yii如何更改控制器中的 $model->attributes 值 - Yii
【发布时间】:2012-05-17 16:47:06
【问题描述】:

UserMasterController 代码:

public function actionUpdate($id){

    $model=$this->loadModel($id);

    if(isset($_POST['UserMaster'])){
        $model->attributes=$_POST['UserMaster'];
        $model->attributes['emailsent'] = 'N';

        if($model->save())
            $this->redirect(array('admin'));
    }

    $this->render('update',array(
        'model'=>$model,
    ));
}

给我一​​个错误的行是:$model->attributes['emailsent'] = 'N';

错误:间接修改重载属性UserMaster::$attributes无效

如何更改属性值?我只想根据条件将其设置为'Y''N'

【问题讨论】:

    标签: controller yii yii-components


    【解决方案1】:

    试试这个$model->setAttribute($name,$value);

    【讨论】:

    • 如果你想要IN条件等,这个非常有用。1UP
    【解决方案2】:

    使用$model->emailsent='N';。就这些

    【讨论】:

    • 感谢@dInGd0nG!这让我发疯了!
    • 当我特别想绕过现有的设置器时,有什么方法可以做到这一点?
    猜你喜欢
    • 2012-09-19
    • 2018-10-11
    • 1970-01-01
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多