trait HasUniqueStringIds (View source)

Methods

mixed
newUniqueId()

Generate a new unique key for the model.

bool
isValidUniqueId(mixed $value)

Determine if given key is valid.

void
initializeHasUniqueStringIds()

Initialize the trait.

array
uniqueIds()

Get the columns that should receive a unique identifier.

resolveRouteBindingQuery(Model|Relation<mixed, mixed, mixed> $query, mixed $value, string|null $field = null)

Retrieve the model for a bound value.

string
getKeyType()

Get the auto-incrementing key type.

bool
getIncrementing()

Get the value indicating whether the IDs are incrementing.

never
handleInvalidUniqueId(mixed $value, string|null $field)

Throw an exception for the given invalid unique ID.

Details

abstract mixed newUniqueId()

Generate a new unique key for the model.

Return Value

mixed

abstract protected bool isValidUniqueId(mixed $value)

Determine if given key is valid.

Parameters

mixed $value

Return Value

bool

void initializeHasUniqueStringIds()

Initialize the trait.

Return Value

void

array uniqueIds()

Get the columns that should receive a unique identifier.

Return Value

array

Builder resolveRouteBindingQuery(Model|Relation<mixed, mixed, mixed> $query, mixed $value, string|null $field = null)

Retrieve the model for a bound value.

Parameters

Model|Relation<mixed, mixed, mixed> $query
mixed $value
string|null $field

Return Value

Builder

Exceptions

ModelNotFoundException

string getKeyType()

Get the auto-incrementing key type.

Return Value

string

bool getIncrementing()

Get the value indicating whether the IDs are incrementing.

Return Value

bool

protected never handleInvalidUniqueId(mixed $value, string|null $field)

Throw an exception for the given invalid unique ID.

Parameters

mixed $value
string|null $field

Return Value

never

Exceptions

ModelNotFoundException

Laravel Cloud is the best place to deploy Laravel, Nuxt, Express, Hono, Node.js, Bun, Go, Flask, Python, and more, with dedicated infrastructure available on AWS through Laravel Private Cloud.