我可以为 CakePHP 中的特定 table 列设置默认数字格式吗?

Can I set default number format for specyfic table column in CakePHP?

我刚开始摆弄 CakePHP。

我有一个 table metrics 和一个列 data_multiplier

我已经为那个 table 烘焙了所有代码。

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

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

默认数字格式有 3 位小数。我需要 6 位小数,所以我必须像这样向 format 方法调用添加参数:

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

是否必须在使用此 table 和列的每个视图中执行此操作,或者是否有某种方法可以为特定行中的特定列定义默认格式选项?

您可以创建自己的助手。

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