public function purge() { Audit::log(Auth::user()->id, trans('admin/error/general.audit-log.category'), trans('admin/error/general.audit-log.msg-purge')); $purge_retention = Setting::get('errors.purge_retention'); $purge_date = (new \DateTime())->modify("- {$purge_retention} day"); $errorsToDelete = $this->error->pushCriteria(new ErrorCreatedBefore($purge_date))->all(); foreach ($errorsToDelete as $error) { // The AuditRepository located at $this->error 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->error->delete($error->id); $this->app->make($this->error->model())->destroy($error->id); } return \Redirect::route('admin.errors.index'); }