如上所述here,Yii提供虚拟属性。我在模型中添加了以下内容:
public function getTest()
{
...
}
public function setTest($value)
{
...
}
在我的CActiveForm中,我使用以下内容作为Textfield:
<div class="row">
<?php echo $form->labelEx($model,'test'); ?>
<?php echo $form->textField($model,'test'); ?>
<?php echo $form->error($model,'test'); ?>
</div>
打开表单时,将调用get-Method(使用调试器进行验证)。保存记录不会调用setter(每个其他属性都保存正常并正常工作)。
有人帮我解决这个问题吗?
答案 0 :(得分:3)
我认为您缺少为变量“test”定义规则。
public function rules()
{
$rules[] = array('test','safe');
return $rules;
}