Yii,更改原始发布属性

Yii, changing original posted attributes

请问actionCreate()中原贴的属性可以改吗?

例如我有 3 个属性:namephNumberaddress

在_form.php中,它会自动发布这3个属性。但是,如果我想将发布的 name 属性更改为全部大写怎么办?我是否需要创建自己的记录方法来更改 name 的记录方式,或者我可以在 actionCreate() 中做些什么以便它只更改 name属性?

例如,用户输入

adam michael

对于 name 文本框,我只想将此属性更改为

ADAM MICHAEL

记录在数据库中,而不必创建另一个方法。

代码如下:

public function actionCreate() {
    $model = new Masseuse;

    if (isset($_POST['Masseuse'])) {
        $model->setAttributes($_POST['Masseuse']);          

        if ($model->save()) {
            if (Yii::app()->getRequest()->getIsAjaxRequest())
                Yii::app()->end();
            else
                $this->redirect(array('servicemasseuse/create', 'mid' => $model->id));
        }  
    }

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

只需做一个$model->name=strtoupper($model->name);

Refer here

您必须在保存数据之前更改用户输入。您可以通过在模型中创建一个覆盖函数来实现。

class Masseuse extends CActiveRecord {

  // ...

   public function beforeSave()
   {
      $this->name = strtoupper($this->name)
   }
 }