Php YII:更新我的值不起作用

Php YII:更新我的值不起作用,php,yii,Php,Yii,我是Yii的新手,我发现有些事情并不好笑。我有一个表单要更新,每次我试图更新它时,它都会不断抛出错误 查看:\u form.php <?php /* @var $this BaseStationController */ /* @var $model BaseStation */ /* @var $form CActiveForm */ ?> <div class="form"> <?php $form=$this->beginWidget('CActiv

我是Yii的新手,我发现有些事情并不好笑。我有一个表单要更新,每次我试图更新它时,它都会不断抛出错误

查看:\u 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 -->

尝试此操作

会出现哪些错误?错误:未定义变量:数据。。抱歉,我忘了发布我的actionCreate方法:公共函数actionCreate()公共函数actionCreate(){$this->render('create',array('model'=>$model',data'=>$data));}嗯,错误消息非常简单:数据变量未定义。您正在创建操作中将$data传递给视图文件,而不是在更新操作中。此外,在_form视图中不使用数据变量。是否在“创建/更新”视图中使用?如果不是,为什么要传递$data变量?它来自哪里?您也不会在“创建”操作中初始化它或模型变量。是的,您需要先加载模型,然后才能保存任何新值。
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,

        ));
    }
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'];
            $model->c_id = $model->c_id;
            $model->base_station_num = $model->base_station_num;
            if($model->save())
                $this->redirect(array('view','id'=>$model->id));
        }

        $this->render('update',array(
            'model'=>$model,

        ));
    }