我在Controller里这样写
$model=$this->loadModel();
if(isset($_POST['Enrollment']))
{
$model->attributes=$_POST['Enrollment'];
// 通过上边代码,下边两个特性不会被赋值
$model->audit_by_unit=isset($_POST['Enrollment']['audit_by_unit'])?
$_POST['Enrollment']['audit_by_unit']:$model->audit_by_unit;
$model->audit_by_yxrc=isset($_POST['Enrollment']['audit_by_yxrc'])?
$_POST['Enrollment']['audit_by_yxrc']:$model->audit_by_yxrc;
// var_dump($model->attributes);
// var_dump($_POST['Enrollment']);
// Yii::app()->end();
if($model->save())
{
if(Yii::app()->user->checkAccess('SuperAdmin'))
$this->redirect(array('admin'));
else
$this->redirect(array('auditAdmin'));
}
}
$this->render('update',array(
'model'=>$model,
));
}
下边是view里的文件片段
<?php echo $form->errorSummary($model); ?>
<?php if($model->exam->audit_user_id == Yii::app()->user->id): /*用人单位审核*/ ?>
<div class="row">
<?php echo $form->labelEx($model,'audit_by_unit'); ?>
<?php echo $form->dropDownList($model,'audit_by_unit',Enrollment::$auditStatus); ?>
<?php echo $form->error($model,'audit_by_unit'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'deny_reason_unit'); ?>
<?php echo $form->textField($model,'deny_reason_unit',array('size'=>80,'maxlength'=>255)); ?>
<?php echo $form->error($model,'deny_reason_unit'); ?>
</div>
<?php endif; ?>
<?php if(Yii::app()->user->checkAccess('SuperAdmin')): /*人才中心审核*/ ?>
<div class="row">
<?php echo $form->labelEx($model,'audit_by_yxrc'); ?>
<?php echo $form->dropDownList($model,'audit_by_yxrc',Enrollment::$auditStatus); ?>
<?php echo $form->error($model,'audit_by_yxrc'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'deny_reason_yxrc'); ?>
<?php echo $form->textField($model,'deny_reason_yxrc',array('size'=>80,'maxlength'=>255)); ?>
<?php echo $form->error($model,'deny_reason_yxrc'); ?>
</div>
<?php endif; ?>
<div class="row buttons">
<?php echo CHtml::submitButton('提交'); ?>
</div>
出现的问题就是Controller里的注释语句,$model->attributes=$_POST[‘Enrollment’]以后,$model->audit_by_unit 或 $model->audit_by_yxrc 这两个的值不会被改变,非要通过下边的语句
$model->audit_by_unit=isset($_POST['Enrollment']['audit_by_unit'])?
$_POST['Enrollment']['audit_by_unit']:$model->audit_by_unit;
$model->audit_by_yxrc=isset($_POST['Enrollment']['audit_by_yxrc'])?
$_POST['Enrollment']['audit_by_yxrc']:$model->audit_by_yxrc;