Cakephp能够使用表单中选定的文本输入选项进行数学运算
我想能够做数学与选择文本框。我不确定处理这种情况的最佳方法是什么,我唯一想到的是要么更新数据库中的两个字段,要么将输入字段视为文本,但保留为数据库中的数字 见下文: 新报价=20% 已发送报价=50% 收到的报价=60% 协商=80% B的问题是,当尝试在quote>view.ctp中查看阶段时,我将其视为一个数字 重点是能够做以下的数学题。OpportunityAmount=金额*quote\u stage\u assigned/100 我在报价表中添加了一个名为stage的字段。我将其添加到添加、编辑和查看中 在我看来 查看>编辑Cakephp能够使用表单中选定的文本输入选项进行数学运算,php,forms,cakephp,Php,Forms,Cakephp,我想能够做数学与选择文本框。我不确定处理这种情况的最佳方法是什么,我唯一想到的是要么更新数据库中的两个字段,要么将输入字段视为文本,但保留为数据库中的数字 见下文: 新报价=20% 已发送报价=50% 收到的报价=60% 协商=80% B的问题是,当尝试在quote>view.ctp中查看阶段时,我将其视为一个数字 重点是能够做以下的数学题。OpportunityAmount=金额*quote\u stage\u assigned/100 我在报价表中添加了一个名为stage的字段。我将其添加到
<?php echo $this->Form->input('quote_stage_assigned', array('label' => 'Stage Assigned',
'options' => array(
'New Quote' =>'New Quote',
'Quote Sent' =>'Quote Sent',
'Quote Received' =>'Quote Received'
'Negotiate' =>'Negotiate'
)); ?>
在控制器中
$this->stages = array('0'=>'Lost'
, '20' => 'New Quote'
, '50' => 'Quote Sent'
, '60' => 'Quote Received'
, '80' => 'Negotiate');
那么,您实际上想要的是在数据库中存储一个不同于您想要显示的值?而且只有少数固定的“翻译”。我会在模型中使用常量,并生成一些转换函数……例如,请参见。
<?php echo $thisQuote['Quote']['quote_stage_assigned'];?>
'quote_stage_assigned' => array(
'between' => array(
'rule' => array('between', 1, 64),
'required' => true,
'allowEmpty' => false,
'message' => 'Stage Assigned must be between 1 and 64 characters long'
)
),
$this->stages = array('0'=>'Lost'
, '20' => 'New Quote'
, '50' => 'Quote Sent'
, '60' => 'Quote Received'
, '80' => 'Negotiate');