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 = config('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'); }