Skip to content

General errors ​

Thrown as NoResultsError, MultipleResultsError, InvalidChangesetError, StaleEntryError and NotLoadedError, each with one message. Each entry is an identifier (error.id), then the message as the error states it, where {expression} stands for the value of that expression in the source ({…} for one too long to show), then what to do about it: the text useFullErrorMessages(messages) and explain(error) add, where {name} stands for the error's parameter of that name. See Errors.

invalidChangeset ​

Could not perform {details.action} because the changeset is invalid. Errors: {listing}

Fix the input, or call the variant without "OrThrow" to get the changeset back as a Result instead of an exception.

multipleResults ​

Expected at most one result but got {details.count}{inQuery(query)}.

Narrow the query until it matches a single row, add limit(1), or use all().

noResults ​

Expected at least one result but got none{inQuery(query)}.

Use the variant without "OrThrow" (it returns null) if a missing row is not an error.

notLoaded ​

Association "{details.association}" of {details.schema} is not loaded.

Preload it first: add .preload("{association}") to the query, or call repo.preload(rows, "{association}").

staleEntry ​

Attempted to {details.action} a stale {details.schema} row: no row matched its primary key{…}.

It was deleted or changed since it was loaded. Reload it and try again, or pass allowStale: true to ignore this.