dev/core#1563 - Fix schema map to use canonical field names
authorColeman Watts <coleman@civicrm.org>
Wed, 6 May 2020 00:32:17 +0000 (20:32 -0400)
committerColeman Watts <coleman@civicrm.org>
Wed, 6 May 2020 00:32:17 +0000 (20:32 -0400)
This fixes a bug in SchemaMapBuilder where it was accidentally using "unique names"
which do not map to the real names of db columns.

Civi/Api4/Service/Schema/SchemaMapBuilder.php

index 66efeb3a85e1103dec8e8a5206ba8952e67635c6..74dc0f34536906561efd7fc71539554f9c8bda1c 100644 (file)
@@ -70,8 +70,8 @@ class SchemaMapBuilder {
     /** @var \CRM_Core_DAO $daoName */
     foreach (AllCoreTables::get() as $daoName => $data) {
       $table = new Table($data['table']);
-      foreach ($daoName::fields() as $field => $fieldData) {
-        $this->addJoins($table, $field, $fieldData);
+      foreach ($daoName::fields() as $fieldData) {
+        $this->addJoins($table, $fieldData['name'], $fieldData);
       }
       $map->addTable($table);
       if (in_array($data['name'], $this->apiEntities)) {