2015-01-04 81 views
2

我試圖在「可用」數組中獲取(對於前面)我的實體的所有約束。 雖然我發現如何做到這一點附加到屬性的約束(如不是空白,長度等),我很難找到UniqueEntity。獲取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 \橋\原則\驗證\約束\ UniqueEntity對象,我不能作爲數組使用提取其財產「領域」,也沒有一種方法允許這樣做。

有沒有另一種方法?或者我可以用來獲得這個「領域」屬性的技巧?

回答

1

$fields是約束公共財產的UniqueEntity,所以你可以做這樣的事情

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

確實是......我什麼蠢蛋:) – Eagle1 2015-01-04 14:06:30