更新数字表单字段
Update number form field
我的 table 中有一个名为 'starting_price' 的字段,用于存储钱。我将钱存储为以美分为单位的整数,当我存储它时,我将它乘以 100,因此它可以以美分存储。例如,10$ 在数据库中存储为 1000,但在渲染它时我将它除以 100 并在 twig 中使用 number_format。现在我想添加更新功能,我想在渲染之前将它除以 100,但它不起作用。我的表格中有这个:
->add('starting_price', NumberType::class,[
'label' => 'Starting price',
])
这是我的树枝:
{{ form_row(form.starting_price) }}
当我在我的 twig 文件中添加 /100
时 returns 出现错误
An exception has been thrown during the rendering of a template ("Warning: A non-numeric value encountered").
这显示 12000 美分,我希望它显示 120
您可以使用表单数据转换器:Doc here
$builder
->get(
'starting_price',
NumberType::class,
[
'label' => 'Starting price',
]
)
->addModelTransformer(new CallbackTransformer(
function ($data) {
return $data / 100;
},
function ($data) {
return $data * 100;
}
)
);
我的 table 中有一个名为 'starting_price' 的字段,用于存储钱。我将钱存储为以美分为单位的整数,当我存储它时,我将它乘以 100,因此它可以以美分存储。例如,10$ 在数据库中存储为 1000,但在渲染它时我将它除以 100 并在 twig 中使用 number_format。现在我想添加更新功能,我想在渲染之前将它除以 100,但它不起作用。我的表格中有这个:
->add('starting_price', NumberType::class,[
'label' => 'Starting price',
])
这是我的树枝:
{{ form_row(form.starting_price) }}
当我在我的 twig 文件中添加 /100
时 returns 出现错误
An exception has been thrown during the rendering of a template ("Warning: A non-numeric value encountered").
这显示 12000 美分,我希望它显示 120
您可以使用表单数据转换器:Doc here
$builder
->get(
'starting_price',
NumberType::class,
[
'label' => 'Starting price',
]
)
->addModelTransformer(new CallbackTransformer(
function ($data) {
return $data / 100;
},
function ($data) {
return $data * 100;
}
)
);