EntityAuditBundle icon indicating copy to clipboard operation
EntityAuditBundle copied to clipboard

Show difference of relations

Open knallcharge opened this issue 1 month ago • 0 comments

Feature Request

I noticed when viewing a revision, the differences in relations are not shown which is a crucial feature.

E.g. I have ObjectA have a ManyToOne-relation to ObjectB. If I change the relation, a new revision is created, the ID in the revision-entry in the objecta_audit-table also changes, but the viewer skips the attribute.

I can add all ManyToOne-relations to the detail-view adding this code:

src/AuditReader.php:getEntityValues (line 680)

        foreach ($metadata->getAssociationMappings() as $fieldName => $mapping) {
            if ($mapping instanceof ManyToOneAssociationMapping) {
                $fields[]=$fieldName;
            }
        }

But when I try to view the differences between the last revisions, I run into an endless recursion-error caused in ArrayDiff::compareObjects. Uncommenting the lines 82-84 in that function will show the compared revisions just fine, so I was wondering why the recursion is necessary as everything's looking good without it.

Any hint to get this working (without breaking cases that I don't have in mind right now) is appreciated.

knallcharge avatar Dec 03 '25 12:12 knallcharge