Php 计算值未保存在数据库中
我有这个代码,它似乎没有存储在数据库中的值。这是我的密码:Php 计算值未保存在数据库中,php,yii,Php,Yii,我有这个代码,它似乎没有存储在数据库中的值。这是我的密码: echo $form->labelEx($model,'Quantity_In_Pieces',array('label'=>'Total Quantity')); echo $model->Quantity_In_Pieces = $model->Quantity * $model->Hold; echo $form->textField($model->'Quantity_In
echo $form->labelEx($model,'Quantity_In_Pieces',array('label'=>'Total Quantity'));
echo $model->Quantity_In_Pieces = $model->Quantity * $model->Hold;
echo $form->textField($model->'Quantity_In_Pieces');
您正在计算渲染代码中的值。在将输入保存到数据库之前,还应该在从表单接收输入的代码中完成此计算。d上面的答案是正确的。但它不在数据库中的原因是您没有保存它。但是,它应该在渲染文本框中显示新值 要保存模型,您需要在对其值进行更改后对其调用
save()
函数。这最好在控制器代码中完成,因此它与视图表示代码分开
如果您对这个概念感到困惑,那么我建议您阅读我所见过的框架的最佳指南之一:
只要通读一些“基础”部分,就可以掌握MVC结构是如何工作的。如果您需要某些特定帮助,请在此处或上询问,然后我将如何在视图中对其进行编码?是这样吗?echo CHtml::encode($data->getAttributeLabel('Quantity_In_Pieces');回显$model->Quantity*$model->Hold;echo-CHtml::encode($data->Quantity\u In\u Pieces);对不起,我对yiiForget的风景真的很陌生!视图不应该修改模型,这是对数据分离的粗暴违反。在控制器中执行乘法运算。我是在控制器中创建一个新函数,还是将其插入代码中的某个位置?这样修改和计算数据的逻辑应该在控制器或模型上,具体取决于情况。在你的表格里是控制器。我把它写在表格上好吗?(我的模型刚刚生成)