Oven ON OFF Total
........................................
A 20 20 40 (AUTO Sum, array readonly)
B 10 10 20
C 12 30 42
D 15 15 30
目前我已经在cakephp中创建了ON和OFF的输入列。我想添加一个总列,当我输入ON和OFF列时,它将自动求和。现在我不确定如何做总函数。
下面是我的代码:
查看CTP文件
<?php echo $this->Form->input('B_On_R01',
array('label' => false,
'error' => false,
'tabindex' => 3)); ?>
<?php echo $this->Form->input('B_Off_R01',
array('label' => false,
'error' => false,
'tabindex' => 3)); ?>
<?php echo $this->Form->input('B_Total_R01',
array('readonly' => 'readonly',
'label' => false,
'error' => false,
'tabindex' => 3)); ?>
燃烧器控制器
if($i < 10) { $j = '0' . $i; }
else { $j = $i; }
if(isset($this->request->data['Burner']['B_On_R' . $j]))
{
$this->request->data['Burner']['Oven'] =
$this->request->data['Burner']['Item_R' . $j];
$this->request->data['Burner']['B_On'] =
$this->request->data['Burner']['B_On_R' . $j];
}
else
if($i < 10) { $j = '0' . $i; } else { $j = $i; }
if(isset($this->request->data['Burner']['B_Off_R' . $j]))
{
$this->request->data['Burner']['Oven'] =
$this->request->data['Burner']['Item_R' . $j];
$this->request->data['Burner']['B_Off'] =
$this->request->data['Burner']['B_Off_R' . $j];
}
else
if($i < 10) { $j = '0' . $i; } else { $j = $i; }
if(isset($this->request->data['Burner']['B_Total_R' . $j]))
{
$this->request->data['Burner']['Oven'] =
$this->request->data['Burner']['Item_R' . $j];
$this->request->data['Burner']['B_Total'] =
$this->request->data['Burner']['B_Total_R' . $j];
}
我真的不清楚你的问题,但似乎你的表上的Total
列是不必要的。您可以使用virtual fields
public $virtualFields = array(
'Total' => 'ON+OFF'
);
现在当你获取记录,这Total
字段将自动添加…