Use getEntityNameForTable() instead of getClassForTable(), as this might yield ambiguous results #22116
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Use
CRM_Core_DAO_AllCoreTables::getEntityNameForTable()
instead ofCRM_Core_DAO_AllCoreTables::getBriefName(CRM_Core_DAO_AllCoreTables::getClassForTable())
constructs, as this might yield ambiguous results since entities can share a DAO class.Before
The first result returned by
array_search()
lookups inCRM_Core_DAO_AllCoreTables::getBriefName()
might not be the entity in question, because there can be multiple entities sharing a DAO class.After
The correct entity is being returned.
Technical Details
See #21853 for why entities are now being indexed by brief name instead of class name.
Comments
This is toward work on virtual entities, followup to #21853