是否可以通过某种方式在Doctrine's simple_array
data type的数组值之一中输入(例如,转义)文字,
(逗号)?我想要得到的是两个像这样的数组值:
答案 0 :(得分:1)
由于Doctrine仅在explode()
使用PHP的Doctrine\DBAL\Types\SimpleArrayType::convertToPHPValue()
函数,因此无法转义。因此,您在逗号前输入的任何“想要逃脱字符”都不会影响爆炸。
作为一种解决方法,您可以提出一些特殊字符作为逗号的“内部替代”,然后将其转换回实体的getter中:
const COMMA_REPLACEMENT = '||'; // be sure to choose something that you'll *never* need in one of the strings
public function getName()
{
return array_map(function($value)
{
return str_replace(self::COMMA_REPLACEMENT, ',', $value);
},
$this->name
);
}
我建议将此作为“教义”的新功能:https://github.com/doctrine/dbal/issues/3300