新手咨询:数据更新问题 actionUpdate 环节数据没有返回

actionUpdate 联系人信息填写完后,在该程序中没有带过来,不知是何原因,请指教




	public function actionUpdate($id)

	{

		$model=$this->loadModel($id);


		// Uncomment the following line if AJAX validation is needed

		// $this->performAjaxValidation($model);


		if(isset($_POST['GcBaseinfo']))

		{

			$model->attributes=$_GET['GcBaseinfo'];

			

			echo $model->lxr;			echo $model->yddz;

			exit();

			

			

			

			if($model->save())

				$this->redirect(array('view','id'=>$model->id));

		}


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

			'model'=>$model,

		));

	}

update.php


<?php

$this->breadcrumbs=array(

	yii::t('app','Gc Baseinfos')=>array('index'),

	$model->gc_name=>array('view','id'=>$model->id),

	yii::t('app','Update'),

);


$this->menu=array(

	array('label'=>yii::t('app','List GcBaseinfo'), 'url'=>array('list')),

	array('label'=>yii::t('app','Create GcBaseinfo'), 'url'=>array('create')),

	array('label'=>yii::t('app','View GcBaseinfo'), 'url'=>array('view', 'id'=>$model->id)),

	array('label'=>yii::t('app','Manage GcBaseinfo'), 'url'=>array('admin')),

);

?>


<!--<h1><?php echo $model->gc_name; ?></h1>-->


<?php echo $this->renderPartial('_form', array('model'=>$model)); ?>

_form.php


<div class="form">


<?php $form=$this->beginWidget('CActiveForm', array(

	'id'=>'gc-baseinfo-form',

	'enableAjaxValidation'=>false,

	'htmlOptions'=>array('enctype'=>'multipart/form-data'),

)); ?>


	<?php echo $form->errorSummary($model); ?>

<h2>工程基本信息</h2>

	<div class="row"><!-- 工程编号 -->

		<?php echo $form->labelEx($model,'gc_bh'); ?>

		<?php echo $form->textField($model,'gc_bh',array('size'=>12,'maxlength'=>12)); ?>

		<?php echo $form->error($model,'gc_bh'); ?>

	</div>


	<div class="row"><!-- 工程名称 -->

		<?php echo $form->labelEx($model,'gc_name'); ?>

		<?php echo $form->textField($model,'gc_name',array('size'=>25,'maxlength'=>25)); ?>

		<?php echo $form->error($model,'gc_name'); ?>

	</div>


	<div class="row"><!-- 客户编号 -->

		<?php echo $form->labelEx($model,'khbh'); ?>

		<?php echo $form->textField($model,'khbh',array('size'=>10,'maxlength'=>10)); ?>

		<?php echo $form->error($model,'khbh'); ?>

	</div>


	<div class="row"><!-- 客户名称 -->

		<?php echo $form->labelEx($model,'khmc'); ?>

		<?php echo $form->textField($model,'khmc',array('size'=>50,'maxlength'=>50)); ?>

		<?php echo $form->error($model,'khmc'); ?>

	</div>


	<div class="row"><!-- 用电地址 -->

		<?php echo $form->labelEx($model,'yddz'); ?>

		<?php echo $form->textField($model,'yddz',array('size'=>60,'maxlength'=>255)); ?>

		<?php echo $form->error($model,'yddz'); ?>

	</div>




	<div class="row"><!-- 联系人 -->

		<?php echo $form->labelEx($model,'lxr'); ?>

		<?php echo $form->textField($model,'lxr'); ?>

		<?php echo $form->error($model,'lxr'); ?>

	</div>

</div><!-- form -->




把$model->getErrors()打印出来看报什么错误

echo $model->getErrors() ;

是这样吗???????

显示是个数组,Array

搞定了,原来是 $model->attributes=$_GET[‘GcBaseinfo’]; 这段代码没有用;

我改成了以下方式:


public function actionUpdate($id)

	{

		$model=$this->loadModel($id);


		// Uncomment the following line if AJAX validation is needed

		// $this->performAjaxValidation($model);


		if(isset($_POST['GcBaseinfo']))

		{

			//$model->attributes=$_POST['GcBaseinfo'];	

			

			$t=$_POST['GcBaseinfo'];			

			foreach($t as $key=>$value)

				$model[$key]=$value;

					

			echo $model->lxr;

			//exit();

			

			if($model->save())

				$this->redirect(array('view','id'=>$model->id));

		}


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

			'model'=>$model,

		));

	}

前后代码根本不吻合

前一段:

$model->attributes=$_GET[‘GcBaseinfo’];

后一段:

$model->attributes=$_POST[‘GcBaseinfo’];

后面这一段是没问题的,也是yii所推荐的方法。

如果保存失败就var_dump($model->getErrors());查看一下好了。