1

我希望能够使用选择文本框进行数学运算。我不确定处理这种情况的最佳方法是什么,我唯一想到的是 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');
4

0 回答 0