Yii在添加新列后不创建记录

时间:2014-03-25 13:53:08

标签: php yii

在我的Web应用程序的数据库中,我有一个名为“ProducerOffer”的模型。在使用Gii生成模型后,我创建了另外两个名为“booked_qty”和“available_qty”的列。 当我创建新记录时,它只是使用空值属性

来渲染

我的模型代码

return array(
            array(' vegetable_id, offered_qty, unit_cost, unit_delivery_cost', 'required'),
            array(' offered_qty,  unit_delivery_cost, booking_status, booked_by, available_days', 'numerical', 'integerOnly'=>true),
            array('user_id', 'length', 'max'=>11),
            // The following rule is used by search().
            // Please remove those attributes that should not be searched.
            array('id,userName,user_id, vegetable_id, offered_qty,booked_qty,available_qty, unit_cost, unit_delivery_cost,  offered_date,  booking_status, booked_by, available_days', 'safe', 'on'=>'search'),
             array('booked_qty,available_qty',  'safe'),
        ); 

我的表格代码

div style='padding-left:50px'>
<?php $form=$this->beginWidget('bootstrap.widgets.TbActiveForm',array('id'=>'producer-offer-form','enableAjaxValidation'=>false,)); ?>
<p class="help-block">Fields with <span class="required">*</span> are required.</p>
<?php
if(Yii::app()->user->type=="PRODUCER"){

 echo $form->errorSummary($model); 
 echo $form->dropDownList($model,'vegetable_id', CHtml::listData(Vegetable::model()->findAll(), 'id', 'name'), array('prompt'=>'Select Vegetable')); 
 echo $form->textFieldRow($model,'booked_quantity',array('class'=>'span5','maxlength'=>64)); 
 echo $form->textFieldRow($model,'available_quantity',array('class'=>'span5','maxlength'=>64)); 
 echo $form->textFieldRow($model,'unit_delivery_cost',array('class'=>'span5','maxlength'=>64)); 
}
if(Yii::app()->user->type==="CONSUMER"){
echo $form->textFieldRow($model,'offered_qty',array('class'=>'span5','maxlength'=>64));

}
?>
<div class="form-actions">
    <?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'submit', 'type'=>'primary', 'label'=>$model->isNewRecord ? 'Create' : 'Save',)); ?>  
    <?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'reset', 'type'=>'primary', 'label'=> 'Reset')); ?>
   <?php $this->widget('bootstrap.widgets.TbButton', array('buttonType'=>'link', 'type'=>'primary', 'label'=> 'Cancel','url'=>Yii::app()->user->returnUrl,)); ?>

</div>
<?php $this->endWidget(); ?>
</div>

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

  

不,我编辑了这个问题,我在表单中添加了这些列。我刚添加了列,添加列后我没有使用gii。我只是在数据库表中添加了列。

从评论中听到您需要重新运行Gii Model Generator以及一些CRUD Generator文件,运行Gii模型创建者将确保您的模型包含有关您的表的所有信息结构以及它们与其他表的关系。 CRUD生成器将帮助确保为所有表列创建输入字段。