Merge branch '5.48'
[civicrm-core.git] / Civi / Api4 / Generic / AbstractEntity.php
index 7b4022a4d806beb72d36835f6000534021cdde20..06cab372074d04468ebaf5bdbbef0ac7ea724637 100644 (file)
@@ -153,6 +153,7 @@ abstract class AbstractEntity {
       $info['icon'] = $dao::$_icon;
       $info['label_field'] = $dao::$_labelField;
       $info['dao'] = $dao;
+      $info['table_name'] = $dao::$_tableName;
     }
     foreach (ReflectionUtils::getTraits(static::class) as $trait) {
       $info['type'][] = self::stripNamespace($trait);
@@ -163,7 +164,13 @@ abstract class AbstractEntity {
       $info['description'] = $dao::getEntityDescription() ?? $info['description'] ?? NULL;
     }
     unset($info['package'], $info['method']);
-    return $info;
+
+    // Ensure all keys are snake_case
+    $keys = array_keys($info);
+    foreach ($keys as &$key) {
+      $key = \CRM_Utils_String::convertStringToSnakeCase($key);
+    }
+    return array_combine($keys, array_values($info));
   }
 
   /**