code: function edit(data, unfilteredOptions) {
          let options = this.filterOptions(unfilteredOptions, 'edit', {extraAllowedProperties: ['id']});
  
          const editPost = () => {
              options.forUpdate = true;
  
              return ghostBookshelf.Model.edit.call(this, data, options)
                  .then((post) => {
                      return this.findOne({
                          status: 'all',
                          id: options.id
                      }, _.merge({transacting: options.transacting}, unfilteredOptions))
                          .then((found) => {
                              if (found) {
                                  // Pass along the updated attributes for checking status changes
                                  found._previousAttributes = post._previousAttributes;
                                  found._changed = post._changed;
                                  return found;
                              }
                          });
                  });
          };
  
          if (!options.transacting) {
              return ghostBookshelf.transaction((transacting) => {
                  options.transacting = transacting;
                  return editPost();
              });
          }
  
          return editPost();
      }
docs: ### Edit
  Fetches and saves to Post. See model.Base.edit
  **See:** [ghostBookshelf.Model.edit](base.js.html#edit)