我有一个如下所示的呼叫:
$foo = $em->getRepository('MyBundle:Bar')->find($id);
我希望能够遍历返回到 $foo 的所有列/值对。我发现在大多数情况下,以下调用可以让我得到我想要的信息:
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;
}
然而,有时实体包含一些仅作为学说关联映射存在的信息。该信息最终没有设置在 $values 中。有没有一种方法可以遍历 $foo 中设置的值,而无需通过我拥有的 getEntityColumnValues() 函数获取类元数据?也许有一种方法可以增强我的功能以获取这些映射?谢谢。