我想问一下,是否可以更改actionCreate()
中的原始发布属性?
例如,我有3个属性:name
,phNumber
,address
在_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));
}
答案 0 :(得分:2)
只需做一个$model->name=strtoupper($model->name);
答案 1 :(得分:1)
您必须在保存数据之前更改用户输入。您可以通过在模型中创建覆盖函数来完成此操作。
class Masseuse extends CActiveRecord {
// ...
public function beforeSave()
{
$this->name = strtoupper($this->name)
}
}