Yii,更改原始发布的属性

时间:2015-04-30 03:26:59

标签: php yii 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));
}

2 个答案:

答案 0 :(得分:2)

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

Refer here

答案 1 :(得分:1)

您必须在保存数据之前更改用户输入。您可以通过在模型中创建覆盖函数来完成此操作。

class Masseuse extends CActiveRecord {

  // ...

   public function beforeSave()
   {
      $this->name = strtoupper($this->name)
   }
 }
相关问题