class Unique (View source)

Traits

Properties

protected string $table

The table to run the query against.

from  DatabaseRule
protected string $column

The column to check on.

from  DatabaseRule
protected array $wheres

The extra where clauses for the query.

from  DatabaseRule
protected array $using

The array of custom query callbacks.

from  DatabaseRule
protected mixed $ignore

The ID that should be ignored.

protected string $idColumn

The name of the ID column.

Methods

void
__construct(string $table, string $column = 'NULL')

Create a new rule instance.

string
resolveTableName(string $table)

Resolves the name of the table from the given string.

$this
where(Closure|string $column, array|string|null $value = null)

Set a "where" constraint on the query.

$this
whereNot(string $column, array|string $value)

Set a "where not" constraint on the query.

$this
whereNull(string $column)

Set a "where null" constraint on the query.

$this
whereNotNull(string $column)

Set a "where not null" constraint on the query.

$this
whereIn(string $column, array $values)

Set a "where in" constraint on the query.

$this
whereNotIn(string $column, array $values)

Set a "where not in" constraint on the query.

$this
using(Closure $callback)

Register a custom query callback.

array
queryCallbacks()

Get the custom query callbacks for the rule.

string
formatWheres()

Format the where clauses.

$this
ignore(mixed $id, string|null $idColumn = null)

Ignore the given ID during the unique check.

$this
ignoreModel(Model $model, string|null $idColumn = null)

Ignore the given model during the unique check.

string
__toString()

Convert the rule to a validation string.

Details

void __construct(string $table, string $column = 'NULL')

Create a new rule instance.

Parameters

string $table
string $column

Return Value

void

string resolveTableName(string $table)

Resolves the name of the table from the given string.

Parameters

string $table

Return Value

string

$this where(Closure|string $column, array|string|null $value = null)

Set a "where" constraint on the query.

Parameters

Closure|string $column
array|string|null $value

Return Value

$this

$this whereNot(string $column, array|string $value)

Set a "where not" constraint on the query.

Parameters

string $column
array|string $value

Return Value

$this

$this whereNull(string $column)

Set a "where null" constraint on the query.

Parameters

string $column

Return Value

$this

$this whereNotNull(string $column)

Set a "where not null" constraint on the query.

Parameters

string $column

Return Value

$this

$this whereIn(string $column, array $values)

Set a "where in" constraint on the query.

Parameters

string $column
array $values

Return Value

$this

$this whereNotIn(string $column, array $values)

Set a "where not in" constraint on the query.

Parameters

string $column
array $values

Return Value

$this

$this using(Closure $callback)

Register a custom query callback.

Parameters

Closure $callback

Return Value

$this

array queryCallbacks()

Get the custom query callbacks for the rule.

Return Value

array

protected string formatWheres()

Format the where clauses.

Return Value

string

$this ignore(mixed $id, string|null $idColumn = null)

Ignore the given ID during the unique check.

Parameters

mixed $id
string|null $idColumn

Return Value

$this

$this ignoreModel(Model $model, string|null $idColumn = null)

Ignore the given model during the unique check.

Parameters

Model $model
string|null $idColumn

Return Value

$this

string __toString()

Convert the rule to a validation string.

Return Value

string

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.