- Affected version
- 2.2.12
When 'primary' is set on a relationship,
This has the following issues:
XF\Mvc\Entity\Manager::getRelation
parses the condition into a key-value set to lookup by primary key the linked entity.This has the following issues:
- When this key-value has 1 entry,
Finder::find
=>Finder::whereId
do not validate this is a known primary key column (they only do this for an array). - For multi-column primary keys, the order is dependant on the list of conditions and not the primary key as defined in the entity. This means an unexpected cache miss may occur.
- An empty condition will cause the relationship to always return null, which probably isn't expected.