2013-05-21 2 views
0

나는 다음과 같은 전화가 있습니다. 나는 대부분의 경우에 다음과 같은 호출이 나에게 내가 원하는 정보를 얻을 수 있음을 발견했다 :얻기 교리의 associaton 매핑

public function getEntityColumnValues($entity, $em){ 
    $cols = $em->getClassMetadata(get_class($entity))->getColumnNames(); 
    $values = array(); 
    foreach($cols as $col){ 
    $getter = 'get' . $this->underscoreToCamelCase($col, true); 
    $values[$col] = $entity->$getter(); 
    } 
    return $values; 
} 

때때로, 그러나, 기업은 단지 교리의 연관 매핑으로 존재하는 몇 가지 정보가 포함되어 있습니다. 그 정보는 $ 값으로 설정되지 않고 끝납니다. 내가 가진 getEntityColumnValues ​​() 함수를 통해 클래스 메타 데이터를 가져 오지 않고 $ foo에 설정된 값을 반복하는 방법이 있습니까? 어쩌면 그 매핑을 얻기 위해 함수를 향상시킬 수있는 방법이 있을까요? 감사.

답변

1

당신은 올바른 방법에있어. $em->getClassMetadata(get_class($entity))은 필요한 모든 getter (예 : getAssociationMappings)로 ClassMetadata를 제공합니다. 간단히 look at them을 가지고 경험해보십시오.

+0

는 정말 고마워요! 그것은 내가 필요로했던 바로 그 것이었다. – keybored