我正试图进入一个“可用”数组(对于前面)我的实体的所有约束。 虽然我已经找到了如何为附加到属性的约束(如非空白,长度等)执行此操作,但我无法找到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”,也没有方法允许它。
还有另一种方法吗?或者我可以用来获得这个“字段”属性的技巧?
答案 0 :(得分:1)
$fields
是UniqueEntity
约束的公开属性,因此您可以执行类似
$entityConstraints = array_merge($entityConstraints, $constraint->fields);