Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.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
Cakephp能够使用表单中选定的文本输入选项进行数学运算_Php_Forms_Cakephp - Fatal编程技术网

Cakephp能够使用表单中选定的文本输入选项进行数学运算

Cakephp能够使用表单中选定的文本输入选项进行数学运算,php,forms,cakephp,Php,Forms,Cakephp,我想能够做数学与选择文本框。我不确定处理这种情况的最佳方法是什么,我唯一想到的是要么更新数据库中的两个字段,要么将输入字段视为文本,但保留为数据库中的数字 见下文: 新报价=20% 已发送报价=50% 收到的报价=60% 协商=80% B的问题是,当尝试在quote>view.ctp中查看阶段时,我将其视为一个数字 重点是能够做以下的数学题。OpportunityAmount=金额*quote\u stage\u assigned/100 我在报价表中添加了一个名为stage的字段。我将其添加到

我想能够做数学与选择文本框。我不确定处理这种情况的最佳方法是什么,我唯一想到的是要么更新数据库中的两个字段,要么将输入字段视为文本,但保留为数据库中的数字

见下文:

新报价=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');