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

时间:2018-10-20 18:19:46

标签: cakephp cakephp-3.x

我刚开始搞乱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 个答案:

答案 0 :(得分:0)

您可以创建自己的帮助器。

<?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');