-1
我對Yii有點新,我發現有些事情不好笑。我有一個我想要更新的表單,每當我嘗試更新它時,它都會一直拋出錯誤。YII:更新我的價值不起作用
查看:_form.php這個
<?php
/* @var $this BaseStationController */
/* @var $model BaseStation */
/* @var $form CActiveForm */
?>
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'base-station-form',
'enableAjaxValidation'=>true,
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<div class="row">
<?php echo $form->labelEx($model,'c_id'); ?>
<select name="BaseStation[c_id]">
<?php foreach($models as $m):?> //Here coded the loop below to display customer's id from the database
<option value='<?php echo $m->id;?>'><?php echo $m->firstname.' '.$m->lastname;?></option>
<?php endforeach;?>
</select>
</div>
<div class="row">
<?php echo $form->labelEx($model,'base_station_num'); ?>
<?php echo $form->textField($model,'base_station_num',array('size'=>15,'maxlength'=>15)); ?>
<?php echo $form->error($model,'base_station_num'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->
控制器
public function actionUpdate($id)
{
$model=$this->loadModel($id);
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['BaseStation']))
{
$model->attributes=$_POST['BaseStation'];
if($model->save())
$this->redirect(array('view','id'=>$model->id));
}
$this->render('update',array(
'model'=>$model,
));
}
你得到什麼錯誤? –
錯誤:未定義的變量:數據..抱歉,我忘了後我actionCreate方法:公共函數actionCreate() 公共函數actionCreate(){ \t \t $這 - >呈現( '創建',陣列( \t \t \t 'model'=> $ model, 'data'=> $ data \t \t)); \t} –
那麼,錯誤信息非常簡單:數據變量是未定義的。您正在將$數據傳遞給創建操作中的視圖文件,但不是在更新操作中。你也不會在_form視圖中使用數據變量。它是否在創建/更新視圖中使用?如果沒有,爲什麼你傳遞$ data變量?它從何而來?您不要在創建操作中初始化它或模型變量。 – korsosa