Hima Hima
Hima Hima

Reputation: 123

How can I use laravel Auditor in controller

I used laravel Auditor in a model and it works very well as following:

use Illuminate\Database\Eloquent\Model;
use OwenIt\Auditing\Contracts\Auditable;

class Contracts extends Model implements Auditable
{
    use \OwenIt\Auditing\Auditable;

     protected $fillable=['condatereceived'];

    public function user()
        {
            return $this->belongsTo(User::class);
        } 
}

But I want to used it in the controller as :

public function updatecomplated(Request $request, $id,Contracts $contract ,Auditor $auditor)
{
     Contracts::where('id', $id)
     ->update(['complated' => 50, 'conuploadby' => Auth::id(),'constatus' =>'Need To Active' ]);

     if ($audit = $auditor->execute($contract)) {
        $auditor->prune($contract);
    }
    return redirect()->back();
}

The code in controller give me error:

Call to undefined method OwenIt\Auditing\Facades\Auditor::execute()

any ideas to use auditor in the controller, please.

Upvotes: 1

Views: 943

Answers (1)

sid heart
sid heart

Reputation: 1149

try this package its easy with good documentation

simply add this to your table

$table->auditable();

and this to your model

namespace App;

use Yajra\Auditable\AuditableTrait;

class User extends Model
{
    use AuditableTrait;
}

thats it now simply get your auditor by calling

$user->creator // for who create 

and

$user->updater //for who update data

for more information click here for check trait Hope this helps

Upvotes: 1

Related Questions