}
$fieldData = \CRM_Utils_SQL_Select::from('civicrm_custom_field f')
->join('custom_group', 'INNER JOIN civicrm_custom_group g ON g.id = f.custom_group_id')
- ->select(['g.name as custom_group_name', 'g.table_name', 'g.is_multiple', 'f.name', 'f.data_type', 'label', 'column_name', 'option_group_id', 'serialize'])
+ ->select(['g.name as custom_group_name', 'g.table_name', 'g.is_multiple', 'f.name', 'f.data_type', 'label', 'column_name', 'option_group_id', 'serialize', 'fk_entity'])
->where('g.extends IN (@entity)', ['@entity' => $customInfo['extends']])
->where('g.is_active')
->where('f.is_active')
$customTable->addTableLink('entity_id', $joinable);
}
+ if ($fieldData->data_type === 'EntityReference') {
+ $targetTable = \CRM_Core_BAO_CustomGroup::getTableNameByEntityName($fieldData->fk_entity);
+ $joinable = new Joinable($targetTable, 'id', $fieldData->name);
+ $customTable->addTableLink($fieldData->column_name, $joinable);
+ }
+
if ($fieldData->data_type === 'ContactReference') {
$joinable = new Joinable('civicrm_contact', 'id', $fieldData->name);
if ($fieldData->serialize) {