code: public function update(array $attributes, $id)
      {
          $defaults = ['roles' => []];
          $attributes = array_merge($defaults, $attributes);
          $model = $this->find($id);
          if (! in_array('Esensi\Model\Contracts\HashingModelInterface', class_implements($model))) {
              throw new Exception(
                  "User model must implement Esensi\Model\Contracts\HashingModelInterface. 
                  Revert to 0.3.* or see upgrade guide for details."
              );
          }
          if (! array_key_exists('password', $attributes)) {
              $model->fill($attributes);
              if (Config::get('entrust-gui.confirmable') === true) {
                  $model->password_confirmation = $model->password;
              }
              $model->saveWithoutHashing();
          } else {
              $model = parent::update($attributes, $id);
          }
          $model->roles()->sync($attributes['roles']);
          return $this->parserResult($model);
      }
docs: Update attributes
  
  @param array $attributes
  @param integer $id
  
  @return Model