Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 计算值未保存在数据库中_Php_Yii - Fatal编程技术网

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的风景真的很陌生!视图不应该修改模型,这是对数据分离的粗暴违反。在控制器中执行乘法运算。我是在控制器中创建一个新函数,还是将其插入代码中的某个位置?这样修改和计算数据的逻辑应该在控制器或模型上,具体取决于情况。在你的表格里是控制器。我把它写在表格上好吗?(我的模型刚刚生成)