在我的Web应用程序中,我有一个名为producer offer的表,我需要再添加两列,它显示添加的列但不保存输入的值 。但当我查看这个值时,它在视图中显示为“未设置”。我该怎样解决这个问题?
public function rules()
{
return array(
array(' vegetable_id, offered_qty, unit_cost, unit_delivery_cost', 'required'),
array(' offered_qty, unit_cost, 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, unit_cost, unit_delivery_cost, offered_date, booking_status, booked_by, available_days', 'safe', 'on'=>'search'),
//array('booked_qty','on'=>'update')
array('booked_qty,available_qty','numerical', 'safe'=>true),
);
}
public function attributeLabels()
{
return array(
'producerOfferUserRelation.name' => 'Offered By',
'producerOfferVegetableRelation.name' => 'Offered Vegetable',
'offered_qty' => 'Offered Qty(/KG)',
'unit_cost' => 'Unit Cost(RS/KG)',
'unit_delivery_cost' => 'Unit Delivery Cost(RS/KM)',
'offered_date' => 'Offered Date',
'booking_status' => 'Booking Status',
'booked_by' => 'Booked By',
'available_days' => 'Available Days',
'booked_qty'=>'Booked quantity',
'available_qty'=>'Available quantity'
);
}
我的ProducerOfferController.php代码
public function actionUpdate($id)
{
$model=$this->loadModel($id);
$booked_qty=$model->booked_qty;
if(isset($_POST['ProducerOffer']))
{
$model->booked_qty=$_POST['ProducerOffer']['booked_qty'];
$model->available_qty=$model->offered_qty-$model->booked_qty;
$model->attributes=$_POST['ProducerOffer'];
$model->save();
if ($model->hasErrors() === false)
{
$this->redirect(Yii::app()->user->returnUrl);
}
}
else
{
Yii::app()->user->setReturnUrl($_GET['returnUrl']);
}
$this->render('form',array('model'=>$model,));
}
答案 0 :(得分:0)
更改
$model->booked_qty=$_POST['ProducerOffer']['booked_qty'];
$model->available_qty=$model->offered_qty-$model->booked_qty;
$model->attributes=$_POST['ProducerOffer'];
到
$model->attributes=$_POST['ProducerOffer'];
$model->booked_qty=$_POST['ProducerOffer']['booked_qty'];
$model->available_qty=$model->offered_qty-$model->booked_qty;