我希望能够使用选择文本框进行数学运算。我不确定处理这种情况的最佳方法是什么,我唯一想到的是 A)更新数据库中的两个字段或 B)将输入字段视为文本但在数据库中保存为数字。
请参阅以下内容:
新报价 = 20%
报价发送 = 50%
收到的报价 = 60%
协商 = 80%
B 的问题在于,当尝试在 quote > view.ctp 中查看舞台时,我将其视为一个数字。
关键是能够进行以下数学运算。OpportunityAmount = 金额 * (quote_stage_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'
)); ?>
查看 > 添加
<?php echo $this->Form->input('opportunity_stage_assigned', array('label' => 'Stage Assigned',
'options' => array('New Quote', 'Quote Sent', 'Quote Received, 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');