zaengle/audits is a Laravel package for a package to manage model audits.
It currently has 2 GitHub stars and 7.858 downloads on Packagist (latest version v5.0.0).
Install it with composer require zaengle/audits.
Discover more Laravel packages by zaengle
or browse all Laravel packages to compare alternatives.
Last updated

This packages records changes to a Laravel model and stores them in a json column on the model.
Use the MakesAudits trait on your model.
Next add a nullable json column to your model. By default the package will look for a column called audits. To override the auditable column, change the $auditableColumn property on your model.
protected $auditableColumn = 'audits';
Finally add a json cast for the auditable column.
protected $casts = [
'audits' => 'json',
];
This is all you need to get started. The package will automatically record changes to the model and store them in the audits column.
If you ever need to save arbitrary data to the audit log you may do so by calling the manualAudit method.
$model = Model::find(1);
$model->manualAudit([
'field' => 'value',
]);
Occasionally you may want to bypass writing to the audit log. In those cases you can override the shouldTriggerAudit function on your model like so:
// MyModel.php
public function shouldTriggerAudit(): bool
{
return $someCondition ? true : false;
}
If you are looking for a more robust solution, this package is worth checking out: Laravel Auditor