Yii,更改原始发布属性
Yii, changing original posted attributes
请问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));
}
只需做一个$model->name=strtoupper($model->name);
Refer here
您必须在保存数据之前更改用户输入。您可以通过在模型中创建一个覆盖函数来实现。
class Masseuse extends CActiveRecord {
// ...
public function beforeSave()
{
$this->name = strtoupper($this->name)
}
}
请问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));
}
只需做一个$model->name=strtoupper($model->name);
Refer here
您必须在保存数据之前更改用户输入。您可以通过在模型中创建一个覆盖函数来实现。
class Masseuse extends CActiveRecord {
// ...
public function beforeSave()
{
$this->name = strtoupper($this->name)
}
}