在Symfony2中使用ddeboer/data-import
捆绑包导入CSV文件时,空值的正确格式是什么?
CSVReader
类使用SplFileObject
类,它可以逃避任何事情。例如,如果我使用\N
,则会将其更改为\\N
。
我尝试过空值格式,例如..,,..
或...,"",...
,并且它总是说整数字段的值不正确。
MySQL字段可以为空或允许为null,我必须能够使用空值而不是0。例如。
答案 0 :(得分:1)
我找到了解决此问题的方法,并使用了CallbackItemConverter。
因此,检查每个项目是否为字符串且其值为" NULL"将其更改为PHP null值。
$nullConverter = new CallbackItemConverter(function ($item) {
foreach ($item as $key => $value) {
if (is_string($value)) {
$item[$key] = $value == 'NULL'? null: $value;
}
}
return $item;
});
$workflow->addItemConverter($nullConverter)
实际上你可以改变字符串" NULL"您在CSV导出中使用的任何值,并在工作流程处理时使用相同的转换器转换任何其他字段。