获取唯一实体约束的字段


getting the fields of UniqueEntity constraints

我正在尝试在一个"可用"数组(用于前面)中获取我的实体的所有约束。虽然我已经找到了如何为附加到属性的约束(如非空白、长度等)执行此操作,但我很难找到 UniqueEntity。

我正在使用这里写的脚本:Symfony2 获取实体上的所有验证约束(YML、XML、注释)

似乎在里面:

$propertyMetadata=$metadata->getPropertyMetadata($constrainedProperty);

不显示唯一实体约束。

所以我尝试添加以下代码:

$entityConstraints = [];
    foreach($metadata->getConstraints() as $constraint)
    {
        var_dump($constraint);
        array_push($entityConstraints,$constraint->getTargets());
    }

它们在这里,但这些$constraints是 Symfony''Bridge''Doctrine''Validator''Constraint''UniqueEntity 对象,我不能将其用作数组来提取其属性"字段",也没有方法允许这样做。

有没有其他方法可以?或者我可以用来获取这个"字段"属性的技巧?

$fieldsUniqueEntity约束的公共属性,所以你可以做类似的事情

 $entityConstraints = array_merge($entityConstraints, $constraint->fields);