App\Http\Controllers\AuditsController::purge PHP Method

purge() public method

public purge ( ) : Illuminate\Http\RedirectResponse
return Illuminate\Http\RedirectResponse
    public function purge()
    {
        Audit::log(Auth::user()->id, trans('admin/audit/general.audit-log.category'), trans('admin/audit/general.audit-log.msg-purge'));
        $purge_retention = Setting::get('audit.purge_retention');
        $purge_date = (new \DateTime())->modify("- {$purge_retention} day");
        $auditsToDelete = $this->audit->pushCriteria(new AuditCreatedBefore($purge_date))->all();
        foreach ($auditsToDelete as $audit) {
            // The AuditRepository located at $this->audit is changed to a instance of the
            // QueryBuilder when we run a query as done above. So we had to revert to some
            // Magic to get a handle of the model...
            //            $this->audit->delete($audit->id);
            $this->app->make($this->audit->model())->destroy($audit->id);
        }
        return \Redirect::route('admin.audit.index');
    }