Use the SimpleThings\EntityAudit\AuditReader to retrieve historical data. In Symfony, this is available via dependency injection. In standalone apps, create it from the AuditManager.
Find entity state at a specific revision
Returns the state of an entity at a specific revision number.
Note: Instances returned by find() are not managed by the EntityManager's UnitOfWork; you must merge() them if you intend to continue working with them in the current persistence context.
$articleAudit = $auditReader->find(
SimpleThings\EntityAudit\Tests\ArticleAudit::class,
$id = 1,
$rev = 10
);
Find revision history of an entity
Returns a list of all revisions associated with a specific entity ID.
$revisions = $auditReader->findRevisions(
SimpleThings\EntityAudit\Tests\ArticleAudit::class,
$id = 1
);
Each Revision object provides:
getRev(): The revision ID.getTimestamp(): The time of change.getUsername(): The user who made the change.
Find entities changed at a specific revision
Returns a list of all ChangedEntity objects modified during a specific global revision.
$changedEntities = $auditReader->findEntitiesChangedAtRevision(10);
Each ChangedEntity provides:
getClassName()getId()getRevisionType()getEntity()
Find current revision of an entity
$revision = $auditReader->getCurrentRevision(
'SimpleThings\EntityAudit\Tests\ArticleAudit',
$id = 3
);
use SimpleThings
EntityAudit
AuditReader;
// In a Symfony Controller
public function indexAction(AuditReader $auditReader)
{
// Find entity state at revision 10
$articleAudit = $auditReader->find(
SimpleThings\EntityAudit\Tests\ArticleAudit::class,
1,
10
);
// Find revisions for an entity
$revisions = $auditReader->findRevisions(
SimpleThings\EntityAudit\Tests\ArticleAudit::class,
1
);
}