获取UniqueEntity约束的字段

时间:2015-01-04 11:42:13

标签: php symfony

我正试图进入一个“可用”数组(对于前面)我的实体的所有约束。 虽然我已经找到了如何为附加到属性的约束(如非空白,长度等)执行此操作,但我无法找到UniqueEntity。

我正在使用这里写的脚本: symfony2 get all validation constraints on an entity (yml, xml, annotations)

似乎在里面:

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

不会出现UniqueEntity约束。

所以我尝试添加此代码:

$entityConstraints = [];

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

这里它们是但是这些$约束是Symfony \ Bridge \ Doctrine \ Validator \ Constraints \ UniqueEntity对象,我不能用它作为数组来提取它的属性“fields”,也没有方法允许它。

还有另一种方法吗?或者我可以用来获得这个“字段”属性的技巧?

1 个答案:

答案 0 :(得分:1)

$fieldsUniqueEntity约束的公开属性,因此您可以执行类似

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