我正在尝试将前导零添加到要在gridview中显示的数字。 我正在尝试这个代码,但它会抛出错误:
获取未知属性:app \ models \ OpdTestBill :: 0000
我使用的代码是这样的:
[
'attribute'=>'dhanwantri_bill_number',
'format'=>'raw',
'value'=>sprintf('%04d','dhanwantri_bill_number')
],
实现此目的的正确语法是什么?
感谢。
变化
[ 'attribute'=>'dhanwantri_bill_number',
'format'=>sprintf('%04d','dhanwantri_bill_number')
],
我也遇到错误:
未知格式类型:0000
抛出新的InvalidParamException("未知格式类型:$ format")
答案 0 :(得分:1)
好的,我找到了解决方案,任何有问题的人都会发现它很有用:
[
'attribute' => 'dhanwantri_bill_number',
'value' => function($model) {
return sprintf('%04d', $model->dhanwantri_bill_number);
}
],
答案 1 :(得分:0)
您可以找到sptrinf
here的文档。
第一个参数是用于输出的格式,如果值为< 1000
,则选择为带前导零的整数。
以下参数必须与格式匹配。
sprintf('%04d','dhanwantri_bill_number')
您将整数设置为输出,但将字符串作为输入。 sprintf
不知道该怎么做,因为它正在寻找一个整数。
sprintf('%04d',12);
// Output:
0012