代码之家  ›  专栏  ›  技术社区  ›  Kamil

我可以为CakePHP中的specyfic表列设置默认的数字格式吗?

  •  1
  • Kamil  · 技术社区  · 6 年前

    我刚开始和CakePHP玩。

    我有一张桌子 metrics data_multiplier .

    生成的模板生成如下内容:

    <td><?= $this->Number->format($metric->data_multiplier) ?></td>
    

    默认数字格式有3个小数位。我需要6个小数位,所以我必须在 format 方法调用如下:

    <td><?= $this->Number->format($metric->data_multiplier, ['places' => 6]) ?></td>
    

    我是否必须在每个使用此表和列的视图中都这样做,或者有某种方法可以为specyfic行中的specyfic列定义默认格式选项?

    1 回复  |  直到 6 年前
        1
  •  0
  •   geoidesic    6 年前

    您可以创建自己的助手。

    <?php
    
    App::uses('Helper', 'View', 'Number');
    class AppHelper extends Helper
    {        
            public function my_numberformat($val)
            {
                return $this->Number->format($val, ['places' => 6])
            }
        }
    }
    

    然后在模板中可以执行以下操作:

    <td><?= $this->App->my_numberformat($metric->data_multiplier) ?></td>
    

    别忘了将助手引用到控制器:

    public $helpers = array('App');