/**
  * Gets all records for the model, ignoring scopes and constrains. caches the results.
  *
  * @param array $columns
  * @return mixed
  */
 public function all($columns = array('*'))
 {
     $key = md5('all');
     $result = $this->cache->tags($this->getCacheTag())->remember($key, $this->duration, function () use($columns) {
         return $this->repository->all();
     });
     $this->resetScope();
     return $result;
 }