How to change the column names used in Laravel Auditing Package?

I’m currently trying to use Laravel Auditing v4.1, yes, I know it’s end of support and due to legacy issues I can’t use the newer one.

The issue is, there are two apps, that will be referencing the same audit table. The old app, was using the older version of Laravel Auditing where the column names are different to the version 4.1. So what I was trying to do is map the saving of the audit record referencing to the old column names.

Anyway, what I tried so far:

  • Using a custom model. Changed the implementation value under config/audit.php to my own model AppModelsCustomAudit

    namespace AppModels;

    use IlluminateDatabaseEloquentModel;
    use OwenItAuditingAudit as AuditTrait;
    use OwenItAuditingContractsAudit as AuditContract;

    class CustomAudit extends Model implements AuditContract
    {
    use AuditTrait;

    /**
    * {@inheritdoc}
    */
    protected $guarded = [];

    /**
    * {@inheritdoc}
    */
    protected $casts = [
    'old_value' => 'json',
    'new_value' => 'json',
    ];


    /**
    * The attributes that should be mutated to dates.
    *
    * @var array
    */
    protected $dates = [
    'created_at',
    'updated_at'
    ];

    /**
    * The attributes that are mass assignable.
    *
    * @var array
    */
    protected $fillable = [
    'id',
    'user_id',
    'owner_type',
    'owner_id',
    'old_value',
    'new_value',
    'type',
    'route',
    'ip',
    ];
    }


Notice that in this model, I’m using the old column names, but during submit, it says Unknown column old_values that is because it’s trying to use the new column names.

  • Under the model class that I want to Audit, I called the function transformAudit and change the array keys on the fly before saving it to the database, which works. But is there a cleaner way to do it?

I tried looking for related issues online but what I only found was adding additional columns.

from Newest questions tagged laravel-5 – Stack Overflow https://ift.tt/35JpaLl
via IFTTT

Related Posts

Codeigniter : Parse error: syntax error, unexpected ‘const’ (T_CONST), expecting variable (T_VARIABLE) in Laravel project

I’m getting following error: **Parse error: syntax error, unexpected ‘const’ (T_CONST), expecting variable (T_VARIABLE)** Note : It’s working in local but facing issue in production server. private…

Firebase receive notification while tab is active or on focus

What i want is to be able to perform an action when a user receives a notification while the browser is open and tab is active or…

Laravel’s alias loader does not find class

We have a legacy project that we cannot update and we need to make some changes in symfony’s Response.php in vendor. We have solved this by copying…

Laravel 5 – generic document management

I have a system where you can create different types of unique documents. For instance, one document is called Project Identified and this expects certain inputs. Originally,…

Laravel Nova limit the results in indexQuery

I ran intro a situation where I need to limit the results of a resource to only 3 results. To be more specific, based on the logged…

Auditoria en laravel 5.8 [closed]

Cómo puedo automatizar el registro de actividades de un usuario en laravel? Si un usuario ingresa a un app de laravel, debo guardar toda su actividas, a…

Leave a Reply

Your email address will not be published.