class Model implements ArrayAccess, Arrayable, Jsonable, JsonSerializable, QueueableEntity, UrlRoutable (View source)

Constants

CREATED_AT

The name of the "created at" column.

UPDATED_AT

The name of the "updated at" column.

Properties

protected string $connection The connection name for the model.
protected string $table The table associated with the model.
protected string $primaryKey The primary key for the model.
protected int $perPage The number of models to return for pagination.
bool $incrementing Indicates if the IDs are auto-incrementing.
bool $timestamps Indicates if the model should be timestamped.
protected array $attributes The model's attributes.
protected array $original The model attribute's original state.
protected array $relations The loaded relationships for the model.
protected array $hidden The attributes that should be hidden for arrays.
protected array $visible The attributes that should be visible in arrays.
protected array $appends The accessors to append to the model's array form.
protected array $fillable The attributes that are mass assignable.
protected array $guarded The attributes that aren't mass assignable.
protected array $dates The attributes that should be mutated to dates.
protected array $casts The attributes that should be casted to native types.
protected array $touches The relationships that should be touched on save.
protected array $observables User exposed observable events.
protected array $with The relations to eager load on every query.
protected string $morphClass The class name to be used in polymorphic relations.
bool $exists Indicates if the model exists.
static bool $snakeAttributes Indicates whether attributes are snake cased on arrays.
static protected ConnectionResolverInterface $resolver The connection resolver instance.
static protected Dispatcher $dispatcher The event dispatcher instance.
static protected array $booted The array of booted models.
static protected array $globalScopes The array of global scopes on the model.
static protected bool $unguarded Indicates if all mass assignment is enabled.
static protected array $mutatorCache The cache of the mutated attributes for each class.
static array $manyMethods The many to many relationship methods.

Methods

void
__construct(array $attributes = array())

Create a new Eloquent model instance.

void
bootIfNotBooted()

Check if the model needs to be booted and if so, do it.

static void
boot()

The "booting" method of the model.

static void
bootTraits()

Boot all of the bootable traits on the model.

static void
addGlobalScope(ScopeInterface $scope)

Register a new global scope on the model.

static bool
hasGlobalScope(ScopeInterface $scope)

Determine if a model has a global scope.

static ScopeInterface|null
getGlobalScope(ScopeInterface $scope)

Get a global scope registered with the model.

getGlobalScopes()

Get the global scopes for this class instance.

static void
observe(object|string $class)

Register an observer with the Model.

$this
fill(array $attributes)

Fill the model with an array of attributes.

$this
forceFill(array $attributes)

Fill the model with an array of attributes. Force mass assignment.

array
fillableFromArray(array $attributes)

Get the fillable attributes of a given array.

newInstance(array $attributes = array(), bool $exists = false)

Create a new instance of the given model.

newFromBuilder(array $attributes = array(), string|null $connection = null)

Create a new model instance that is existing.

static Collection
hydrate(array $items, string|null $connection = null)

Create a collection of models from plain arrays.

static Collection
hydrateRaw(string $query, array $bindings = array(), string|null $connection = null)

Create a collection of models from a raw query.

static Model
create(array $attributes)

Save a new model and return the instance.

static Model
forceCreate(array $attributes)

Save a new model and return the instance. Allow mass-assignment.

static Model
firstOrCreate(array $attributes)

Get the first record matching the attributes or create it.

static Model
firstOrNew(array $attributes)

Get the first record matching the attributes or instantiate it.

static Model
updateOrCreate(array $attributes, array $values = array())

Create or update a record matching the attributes, and fill it with values.

static Model|null
firstByAttributes(array $attributes)

Get the first model for the given attributes.

static Builder
query()

Begin querying the model.

static Builder
on(string|null $connection = null)

Begin querying the model on a given connection.

static Builder
onWriteConnection()

Begin querying the model on the write connection.

static Collection|Model[]
all(array $columns = array('*'))

Get all of the models from the database.

static Collection|Model|null
find(mixed $id, array $columns = array('*'))

Find a model by its primary key.

static Collection|Model
findOrNew(mixed $id, array $columns = array('*'))

Find a model by its primary key or return new static.

$this
fresh(array $with = array())

Reload a fresh model instance from the database.

$this
load(array|string $relations)

Eager load relations on the model.

static Builder|Model
with(array|string $relations)

Being querying a model with eager loading.

hasOne(string $related, string $foreignKey = null, string $localKey = null)

Define a one-to-one relationship.

morphOne(string $related, string $name, string $type = null, string $id = null, string $localKey = null)

Define a polymorphic one-to-one relationship.

belongsTo(string $related, string $foreignKey = null, string $otherKey = null, string $relation = null)

Define an inverse one-to-one or many relationship.

morphTo(string $name = null, string $type = null, string $id = null)

Define a polymorphic, inverse one-to-one or many relationship.

hasMany(string $related, string $foreignKey = null, string $localKey = null)

Define a one-to-many relationship.

hasManyThrough(string $related, string $through, string|null $firstKey = null, string|null $secondKey = null)

Define a has-many-through relationship.

morphMany(string $related, string $name, string $type = null, string $id = null, string $localKey = null)

Define a polymorphic one-to-many relationship.

belongsToMany(string $related, string $table = null, string $foreignKey = null, string $otherKey = null, string $relation = null)

Define a many-to-many relationship.

morphToMany(string $related, string $name, string $table = null, string $foreignKey = null, string $otherKey = null, bool $inverse = false)

Define a polymorphic many-to-many relationship.

morphedByMany(string $related, string $name, string $table = null, string $foreignKey = null, string $otherKey = null)

Define a polymorphic, inverse many-to-many relationship.

string
getBelongsToManyCaller()

Get the relationship name of the belongs to many.

string
joiningTable(string $related)

Get the joining table name for a many-to-many relation.

static int
destroy(array|int $ids)

Destroy the models for the given IDs.

bool|null
delete()

Delete the model from the database.

void
forceDelete()

Force a hard delete on a soft deleted model.

void
performDeleteOnModel()

Perform the actual delete query on this model instance.

static void
saving(Closure|string $callback, int $priority)

Register a saving model event with the dispatcher.

static void
saved(Closure|string $callback, int $priority)

Register a saved model event with the dispatcher.

static void
updating(Closure|string $callback, int $priority)

Register an updating model event with the dispatcher.

static void
updated(Closure|string $callback, int $priority)

Register an updated model event with the dispatcher.

static void
creating(Closure|string $callback, int $priority)

Register a creating model event with the dispatcher.

static void
created(Closure|string $callback, int $priority)

Register a created model event with the dispatcher.

static void
deleting(Closure|string $callback, int $priority)

Register a deleting model event with the dispatcher.

static void
deleted(Closure|string $callback, int $priority)

Register a deleted model event with the dispatcher.

static void
flushEventListeners()

Remove all of the event listeners for the model.

static void
registerModelEvent(string $event, Closure|string $callback, int $priority)

Register a model event with the dispatcher.

array
getObservableEvents()

Get the observable event names.

void
setObservableEvents(array $observables)

Set the observable event names.

void
addObservableEvents(mixed $observables)

Add an observable event name.

void
removeObservableEvents(mixed $observables)

Remove an observable event name.

int
increment(string $column, int $amount = 1)

Increment a column's value by a given amount.

int
decrement(string $column, int $amount = 1)

Decrement a column's value by a given amount.

int
incrementOrDecrement(string $column, int $amount, string $method)

Run the increment or decrement method on the model.

void
incrementOrDecrementAttributeValue(string $column, int $amount, string $method)

Increment the underlying attribute value and sync with original.

bool|int
update(array $attributes = array())

Update the model in the database.

bool
push()

Save the model and all of its relationships.

bool
save(array $options = array())

Save the model to the database.

void
finishSave(array $options)

Finish processing on a successful save operation.

bool|null
performUpdate(Builder $query, array $options = [])

Perform a model update operation.

bool
performInsert(Builder $query, array $options = [])

Perform a model insert operation.

void
insertAndSetId(Builder $query, array $attributes)

Insert the given attributes and set the ID on the model.

void
touchOwners()

Touch the owning relations of the model.

bool
touches(string $relation)

Determine if the model touches a given relation.

mixed
fireModelEvent(string $event, bool $halt = true)

Fire the given event for the model.

setKeysForSaveQuery(Builder $query)

Set the keys for a save update query.

mixed
getKeyForSaveQuery()

Get the primary key value for a save query.

bool
touch()

Update the model's update timestamp.

void
updateTimestamps()

Update the creation and update timestamps.

void
setCreatedAt(mixed $value)

Set the value of the "created at" attribute.

void
setUpdatedAt(mixed $value)

Set the value of the "updated at" attribute.

string
getCreatedAtColumn()

Get the name of the "created at" column.

string
getUpdatedAtColumn()

Get the name of the "updated at" column.

Carbon
freshTimestamp()

Get a fresh timestamp for the model.

string
freshTimestampString()

Get a fresh timestamp for the model.

newQuery()

Get a new query builder for the model's table.

newQueryWithoutScope(ScopeInterface $scope)

Get a new query instance without a given scope.

newQueryWithoutScopes()

Get a new query builder that doesn't have any global scopes.

applyGlobalScopes(Builder $builder)

Apply all of the global scopes to an Eloquent builder.

removeGlobalScopes(Builder $builder)

Remove all of the global scopes from an Eloquent builder.

newEloquentBuilder(Builder $query)

Create a new Eloquent query builder for the model.

newBaseQueryBuilder()

Get a new query builder instance for the connection.

newCollection(array $models = array())

Create a new Eloquent Collection instance.

newPivot(Model $parent, array $attributes, string $table, bool $exists)

Create a new pivot model instance.

string
getTable()

Get the table associated with the model.

void
setTable(string $table)

Set the table associated with the model.

mixed
getKey()

Get the value of the model's primary key.

mixed
getQueueableId()

Get the queueable identity for the entity.

string
getKeyName()

Get the primary key for the model.

void
setKeyName(string $key)

Set the primary key for the model.

string
getQualifiedKeyName()

Get the table qualified key name.

mixed
getRouteKey()

Get the value of the model's route key.

string
getRouteKeyName()

Get the route key for the model.

bool
usesTimestamps()

Determine if the model uses timestamps.

array
getMorphs(string $name, string $type, string $id)

Get the polymorphic relationship columns.

string
getMorphClass()

Get the class name for polymorphic relations.

int
getPerPage()

Get the number of models to return per page.

void
setPerPage(int $perPage)

Set the number of models to return per page.

string
getForeignKey()

Get the default foreign key name for the model.

array
getHidden()

Get the hidden attributes for the model.

void
setHidden(array $hidden)

Set the hidden attributes for the model.

void
addHidden(array|string|null $attributes = null)

Add hidden attributes for the model.

array
getVisible()

Get the visible attributes for the model.

void
setVisible(array $visible)

Set the visible attributes for the model.

void
addVisible(array|string|null $attributes = null)

Add visible attributes for the model.

void
setAppends(array $appends)

Set the accessors to append to model arrays.

array
getFillable()

Get the fillable attributes for the model.

$this
fillable(array $fillable)

Set the fillable attributes for the model.

array
getGuarded()

Get the guarded attributes for the model.

$this
guard(array $guarded)

Set the guarded attributes for the model.

static void
unguard($state = true)

Disable all mass assignable restrictions.

static void
reguard()

Enable the mass assignment restrictions.

static bool
isUnguarded()

Determine if current state is "unguarded".

static mixed
unguarded(callable $callback)

Run the given callable while being unguarded.

bool
isFillable(string $key)

Determine if the given attribute may be mass assigned.

bool
isGuarded(string $key)

Determine if the given key is guarded.

bool
totallyGuarded()

Determine if the model is totally guarded.

string
removeTableFromKey(string $key)

Remove the table name from a given key.

array
getTouchedRelations()

Get the relationships that are touched on save.

void
setTouchedRelations(array $touches)

Set the relationships that are touched on save.

bool
getIncrementing()

Get the value indicating whether the IDs are incrementing.

void
setIncrementing(bool $value)

Set whether IDs are incrementing.

string
toJson(int $options)

Convert the model instance to JSON.

array
jsonSerialize()

Convert the object into something JSON serializable.

array
toArray()

Convert the model instance to an array.

array
attributesToArray()

Convert the model's attributes to an array.

array
getArrayableAttributes()

Get an attribute array of all arrayable attributes.

array
getArrayableAppends()

Get all of the appendable values that are arrayable.

array
relationsToArray()

Get the model's relationships in array form.

array
getArrayableRelations()

Get an attribute array of all arrayable relations.

array
getArrayableItems(array $values)

Get an attribute array of all arrayable values.

mixed
getAttribute(string $key)

Get an attribute from the model.

mixed
getAttributeValue(string $key)

Get a plain attribute (not a relationship).

mixed
getAttributeFromArray(string $key)

Get an attribute from the $attributes array.

mixed
getRelationshipFromMethod(string $method)

Get a relationship value from a method.

bool
hasGetMutator(string $key)

Determine if a get mutator exists for an attribute.

mixed
mutateAttribute(string $key, mixed $value)

Get the value of an attribute using its mutator.

mixed
mutateAttributeForArray(string $key, mixed $value)

Get the value of an attribute using its mutator for array conversion.

bool
hasCast(string $key)

Determine whether an attribute should be casted to a native type.

bool
isJsonCastable(string $key)

Determine whether a value is JSON castable for inbound manipulation.

string
getCastType(string $key)

Get the type of cast for a model attribute.

mixed
castAttribute(string $key, mixed $value)

Cast an attribute to a native PHP type.

void
setAttribute(string $key, mixed $value)

Set a given attribute on the model.

bool
hasSetMutator(string $key)

Determine if a set mutator exists for an attribute.

array
getDates()

Get the attributes that should be converted to dates.

string
fromDateTime(DateTime|int $value)

Convert a DateTime to a storable string.

Carbon
asDateTime(mixed $value)

Return a timestamp as DateTime object.

string
getDateFormat()

Get the format for database stored dates.

replicate(array $except = null)

Clone the model into a new, non-existing instance.

array
getAttributes()

Get all of the current attributes on the model.

void
setRawAttributes(array $attributes, bool $sync = false)

Set the array of model attributes. No checking is done.

array
getOriginal(string $key = null, mixed $default = null)

Get the model's original attribute values.

$this
syncOriginal()

Sync the original attributes with the current.

$this
syncOriginalAttribute(string $attribute)

Sync a single original attribute with its current value.

bool
isDirty(array|string|null $attributes = null)

Determine if the model or given attribute(s) have been modified.

array
getDirty()

Get the attributes that have been changed since last sync.

bool
originalIsNumericallyEquivalent(string $key)

Determine if the new and old values for a given key are numerically equivalent.

array
getRelations()

Get all the loaded relations for the instance.

mixed
getRelation(string $relation)

Get a specified relationship.

$this
setRelation(string $relation, mixed $value)

Set the specific relationship in the model.

$this
setRelations(array $relations)

Set the entire relations array on the model.

getConnection()

Get the database connection for the model.

string
getConnectionName()

Get the current connection name for the model.

$this
setConnection(string $name)

Set the connection associated with the model.

static Connection
resolveConnection(string $connection = null)

Resolve a connection instance.

getConnectionResolver()

Get the connection resolver instance.

static void
setConnectionResolver(ConnectionResolverInterface $resolver)

Set the connection resolver instance.

static void
unsetConnectionResolver()

Unset the connection resolver for models.

static Dispatcher
getEventDispatcher()

Get the event dispatcher instance.

static void
setEventDispatcher(Dispatcher $dispatcher)

Set the event dispatcher instance.

static void
unsetEventDispatcher()

Unset the event dispatcher for models.

array
getMutatedAttributes()

Get the mutated attributes for a given instance.

static void
cacheMutatedAttributes(string $class)

Extract and cache all the mutated attributes of a class.

mixed
__get(string $key)

Dynamically retrieve attributes on the model.

void
__set(string $key, mixed $value)

Dynamically set attributes on the model.

bool
offsetExists(mixed $offset)

Determine if the given attribute exists.

mixed
offsetGet(mixed $offset)

Get the value for a given offset.

void
offsetSet(mixed $offset, mixed $value)

Set the value for a given offset.

void
offsetUnset(mixed $offset)

Unset the value for a given offset.

bool
__isset(string $key)

Determine if an attribute exists on the model.

void
__unset(string $key)

Unset an attribute on the model.

mixed
__call(string $method, array $parameters)

Handle dynamic method calls into the model.

static mixed
__callStatic(string $method, array $parameters)

Handle dynamic static method calls into the method.

string
__toString()

Convert the model to its string representation.

void
__wakeup()

When a model is being unserialized, check if it needs to be booted.

Details

void __construct(array $attributes = array())

Create a new Eloquent model instance.

Parameters

array $attributes

Return Value

void

protected void bootIfNotBooted()

Check if the model needs to be booted and if so, do it.

Return Value

void

static protected void boot()

The "booting" method of the model.

Return Value

void

static protected void bootTraits()

Boot all of the bootable traits on the model.

Return Value

void

static void addGlobalScope(ScopeInterface $scope)

Register a new global scope on the model.

Parameters

ScopeInterface $scope

Return Value

void

static bool hasGlobalScope(ScopeInterface $scope)

Determine if a model has a global scope.

Parameters

ScopeInterface $scope

Return Value

bool

static ScopeInterface|null getGlobalScope(ScopeInterface $scope)

Get a global scope registered with the model.

Parameters

ScopeInterface $scope

Return Value

ScopeInterface|null

ScopeInterface[] getGlobalScopes()

Get the global scopes for this class instance.

Return Value

ScopeInterface[]

static void observe(object|string $class)

Register an observer with the Model.

Parameters

object|string $class

Return Value

void

$this fill(array $attributes)

Fill the model with an array of attributes.

Parameters

array $attributes

Return Value

$this

Exceptions

MassAssignmentException

$this forceFill(array $attributes)

Fill the model with an array of attributes. Force mass assignment.

Parameters

array $attributes

Return Value

$this

protected array fillableFromArray(array $attributes)

Get the fillable attributes of a given array.

Parameters

array $attributes

Return Value

array

Model newInstance(array $attributes = array(), bool $exists = false)

Create a new instance of the given model.

Parameters

array $attributes
bool $exists

Return Value

Model

Model newFromBuilder(array $attributes = array(), string|null $connection = null)

Create a new model instance that is existing.

Parameters

array $attributes
string|null $connection

Return Value

Model

static Collection hydrate(array $items, string|null $connection = null)

Create a collection of models from plain arrays.

Parameters

array $items
string|null $connection

Return Value

Collection

static Collection hydrateRaw(string $query, array $bindings = array(), string|null $connection = null)

Create a collection of models from a raw query.

Parameters

string $query
array $bindings
string|null $connection

Return Value

Collection

static Model create(array $attributes)

Save a new model and return the instance.

Parameters

array $attributes

Return Value

Model

static Model forceCreate(array $attributes)

Save a new model and return the instance. Allow mass-assignment.

Parameters

array $attributes

Return Value

Model

static Model firstOrCreate(array $attributes)

Get the first record matching the attributes or create it.

Parameters

array $attributes

Return Value

Model

static Model firstOrNew(array $attributes)

Get the first record matching the attributes or instantiate it.

Parameters

array $attributes

Return Value

Model

static Model updateOrCreate(array $attributes, array $values = array())

Create or update a record matching the attributes, and fill it with values.

Parameters

array $attributes
array $values

Return Value

Model

static protected Model|null firstByAttributes(array $attributes)

Get the first model for the given attributes.

Parameters

array $attributes

Return Value

Model|null

static Builder query()

Begin querying the model.

Return Value

Builder

static Builder on(string|null $connection = null)

Begin querying the model on a given connection.

Parameters

string|null $connection

Return Value

Builder

static Builder onWriteConnection()

Begin querying the model on the write connection.

Return Value

Builder

static Collection|Model[] all(array $columns = array('*'))

Get all of the models from the database.

Parameters

array $columns

Return Value

Collection|Model[]

static Collection|Model|null find(mixed $id, array $columns = array('*'))

Find a model by its primary key.

Parameters

mixed $id
array $columns

Return Value

Collection|Model|null

static Collection|Model findOrNew(mixed $id, array $columns = array('*'))

Find a model by its primary key or return new static.

Parameters

mixed $id
array $columns

Return Value

Collection|Model

$this fresh(array $with = array())

Reload a fresh model instance from the database.

Parameters

array $with

Return Value

$this

$this load(array|string $relations)

Eager load relations on the model.

Parameters

array|string $relations

Return Value

$this

static Builder|Model with(array|string $relations)

Being querying a model with eager loading.

Parameters

array|string $relations

Return Value

Builder|Model

HasOne hasOne(string $related, string $foreignKey = null, string $localKey = null)

Define a one-to-one relationship.

Parameters

string $related
string $foreignKey
string $localKey

Return Value

HasOne

MorphOne morphOne(string $related, string $name, string $type = null, string $id = null, string $localKey = null)

Define a polymorphic one-to-one relationship.

Parameters

string $related
string $name
string $type
string $id
string $localKey

Return Value

MorphOne

BelongsTo belongsTo(string $related, string $foreignKey = null, string $otherKey = null, string $relation = null)

Define an inverse one-to-one or many relationship.

Parameters

string $related
string $foreignKey
string $otherKey
string $relation

Return Value

BelongsTo

MorphTo morphTo(string $name = null, string $type = null, string $id = null)

Define a polymorphic, inverse one-to-one or many relationship.

Parameters

string $name
string $type
string $id

Return Value

MorphTo

HasMany hasMany(string $related, string $foreignKey = null, string $localKey = null)

Define a one-to-many relationship.

Parameters

string $related
string $foreignKey
string $localKey

Return Value

HasMany

HasManyThrough hasManyThrough(string $related, string $through, string|null $firstKey = null, string|null $secondKey = null)

Define a has-many-through relationship.

Parameters

string $related
string $through
string|null $firstKey
string|null $secondKey

Return Value

HasManyThrough

MorphMany morphMany(string $related, string $name, string $type = null, string $id = null, string $localKey = null)

Define a polymorphic one-to-many relationship.

Parameters

string $related
string $name
string $type
string $id
string $localKey

Return Value

MorphMany

BelongsToMany belongsToMany(string $related, string $table = null, string $foreignKey = null, string $otherKey = null, string $relation = null)

Define a many-to-many relationship.

Parameters

string $related
string $table
string $foreignKey
string $otherKey
string $relation

Return Value

BelongsToMany

MorphToMany morphToMany(string $related, string $name, string $table = null, string $foreignKey = null, string $otherKey = null, bool $inverse = false)

Define a polymorphic many-to-many relationship.

Parameters

string $related
string $name
string $table
string $foreignKey
string $otherKey
bool $inverse

Return Value

MorphToMany

MorphToMany morphedByMany(string $related, string $name, string $table = null, string $foreignKey = null, string $otherKey = null)

Define a polymorphic, inverse many-to-many relationship.

Parameters

string $related
string $name
string $table
string $foreignKey
string $otherKey

Return Value

MorphToMany

protected string getBelongsToManyCaller()

Get the relationship name of the belongs to many.

Return Value

string

string joiningTable(string $related)

Get the joining table name for a many-to-many relation.

Parameters

string $related

Return Value

string

static int destroy(array|int $ids)

Destroy the models for the given IDs.

Parameters

array|int $ids

Return Value

int

bool|null delete()

Delete the model from the database.

Return Value

bool|null

Exceptions

Exception

void forceDelete()

Force a hard delete on a soft deleted model.

This method protects developers from running forceDelete when trait is missing.

Return Value

void

protected void performDeleteOnModel()

Perform the actual delete query on this model instance.

Return Value

void

static void saving(Closure|string $callback, int $priority)

Register a saving model event with the dispatcher.

Parameters

Closure|string $callback
int $priority

Return Value

void

static void saved(Closure|string $callback, int $priority)

Register a saved model event with the dispatcher.

Parameters

Closure|string $callback
int $priority

Return Value

void

static void updating(Closure|string $callback, int $priority)

Register an updating model event with the dispatcher.

Parameters

Closure|string $callback
int $priority

Return Value

void

static void updated(Closure|string $callback, int $priority)

Register an updated model event with the dispatcher.

Parameters

Closure|string $callback
int $priority

Return Value

void

static void creating(Closure|string $callback, int $priority)

Register a creating model event with the dispatcher.

Parameters

Closure|string $callback
int $priority

Return Value

void

static void created(Closure|string $callback, int $priority)

Register a created model event with the dispatcher.

Parameters

Closure|string $callback
int $priority

Return Value

void

static void deleting(Closure|string $callback, int $priority)

Register a deleting model event with the dispatcher.

Parameters

Closure|string $callback
int $priority

Return Value

void

static void deleted(Closure|string $callback, int $priority)

Register a deleted model event with the dispatcher.

Parameters

Closure|string $callback
int $priority

Return Value

void

static void flushEventListeners()

Remove all of the event listeners for the model.

Return Value

void

static protected void registerModelEvent(string $event, Closure|string $callback, int $priority)

Register a model event with the dispatcher.

Parameters

string $event
Closure|string $callback
int $priority

Return Value

void

array getObservableEvents()

Get the observable event names.

Return Value

array

void setObservableEvents(array $observables)

Set the observable event names.

Parameters

array $observables

Return Value

void

void addObservableEvents(mixed $observables)

Add an observable event name.

Parameters

mixed $observables

Return Value

void

void removeObservableEvents(mixed $observables)

Remove an observable event name.

Parameters

mixed $observables

Return Value

void

protected int increment(string $column, int $amount = 1)

Increment a column's value by a given amount.

Parameters

string $column
int $amount

Return Value

int

protected int decrement(string $column, int $amount = 1)

Decrement a column's value by a given amount.

Parameters

string $column
int $amount

Return Value

int

protected int incrementOrDecrement(string $column, int $amount, string $method)

Run the increment or decrement method on the model.

Parameters

string $column
int $amount
string $method

Return Value

int

protected void incrementOrDecrementAttributeValue(string $column, int $amount, string $method)

Increment the underlying attribute value and sync with original.

Parameters

string $column
int $amount
string $method

Return Value

void

bool|int update(array $attributes = array())

Update the model in the database.

Parameters

array $attributes

Return Value

bool|int

bool push()

Save the model and all of its relationships.

Return Value

bool

bool save(array $options = array())

Save the model to the database.

Parameters

array $options

Return Value

bool

protected void finishSave(array $options)

Finish processing on a successful save operation.

Parameters

array $options

Return Value

void

protected bool|null performUpdate(Builder $query, array $options = [])

Perform a model update operation.

Parameters

Builder $query
array $options

Return Value

bool|null

protected bool performInsert(Builder $query, array $options = [])

Perform a model insert operation.

Parameters

Builder $query
array $options

Return Value

bool

protected void insertAndSetId(Builder $query, array $attributes)

Insert the given attributes and set the ID on the model.

Parameters

Builder $query
array $attributes

Return Value

void

void touchOwners()

Touch the owning relations of the model.

Return Value

void

bool touches(string $relation)

Determine if the model touches a given relation.

Parameters

string $relation

Return Value

bool

protected mixed fireModelEvent(string $event, bool $halt = true)

Fire the given event for the model.

Parameters

string $event
bool $halt

Return Value

mixed

protected Builder setKeysForSaveQuery(Builder $query)

Set the keys for a save update query.

Parameters

Builder $query

Return Value

Builder

protected mixed getKeyForSaveQuery()

Get the primary key value for a save query.

Return Value

mixed

bool touch()

Update the model's update timestamp.

Return Value

bool

protected void updateTimestamps()

Update the creation and update timestamps.

Return Value

void

void setCreatedAt(mixed $value)

Set the value of the "created at" attribute.

Parameters

mixed $value

Return Value

void

void setUpdatedAt(mixed $value)

Set the value of the "updated at" attribute.

Parameters

mixed $value

Return Value

void

string getCreatedAtColumn()

Get the name of the "created at" column.

Return Value

string

string getUpdatedAtColumn()

Get the name of the "updated at" column.

Return Value

string

Carbon freshTimestamp()

Get a fresh timestamp for the model.

Return Value

Carbon

string freshTimestampString()

Get a fresh timestamp for the model.

Return Value

string

Builder newQuery()

Get a new query builder for the model's table.

Return Value

Builder

Builder newQueryWithoutScope(ScopeInterface $scope)

Get a new query instance without a given scope.

Parameters

ScopeInterface $scope

Return Value

Builder

Builder|Model newQueryWithoutScopes()

Get a new query builder that doesn't have any global scopes.

Return Value

Builder|Model

Builder applyGlobalScopes(Builder $builder)

Apply all of the global scopes to an Eloquent builder.

Parameters

Builder $builder

Return Value

Builder

Builder removeGlobalScopes(Builder $builder)

Remove all of the global scopes from an Eloquent builder.

Parameters

Builder $builder

Return Value

Builder

Builder|Model newEloquentBuilder(Builder $query)

Create a new Eloquent query builder for the model.

Parameters

Builder $query

Return Value

Builder|Model

protected Builder newBaseQueryBuilder()

Get a new query builder instance for the connection.

Return Value

Builder

Collection newCollection(array $models = array())

Create a new Eloquent Collection instance.

Parameters

array $models

Return Value

Collection

Pivot newPivot(Model $parent, array $attributes, string $table, bool $exists)

Create a new pivot model instance.

Parameters

Model $parent
array $attributes
string $table
bool $exists

Return Value

Pivot

string getTable()

Get the table associated with the model.

Return Value

string

void setTable(string $table)

Set the table associated with the model.

Parameters

string $table

Return Value

void

mixed getKey()

Get the value of the model's primary key.

Return Value

mixed

mixed getQueueableId()

Get the queueable identity for the entity.

Return Value

mixed

string getKeyName()

Get the primary key for the model.

Return Value

string

void setKeyName(string $key)

Set the primary key for the model.

Parameters

string $key

Return Value

void

string getQualifiedKeyName()

Get the table qualified key name.

Return Value

string

mixed getRouteKey()

Get the value of the model's route key.

Return Value

mixed

string getRouteKeyName()

Get the route key for the model.

Return Value

string

bool usesTimestamps()

Determine if the model uses timestamps.

Return Value

bool

protected array getMorphs(string $name, string $type, string $id)

Get the polymorphic relationship columns.

Parameters

string $name
string $type
string $id

Return Value

array

string getMorphClass()

Get the class name for polymorphic relations.

Return Value

string

int getPerPage()

Get the number of models to return per page.

Return Value

int

void setPerPage(int $perPage)

Set the number of models to return per page.

Parameters

int $perPage

Return Value

void

string getForeignKey()

Get the default foreign key name for the model.

Return Value

string

array getHidden()

Get the hidden attributes for the model.

Return Value

array

void setHidden(array $hidden)

Set the hidden attributes for the model.

Parameters

array $hidden

Return Value

void

void addHidden(array|string|null $attributes = null)

Add hidden attributes for the model.

Parameters

array|string|null $attributes

Return Value

void

array getVisible()

Get the visible attributes for the model.

Return Value

array

void setVisible(array $visible)

Set the visible attributes for the model.

Parameters

array $visible

Return Value

void

void addVisible(array|string|null $attributes = null)

Add visible attributes for the model.

Parameters

array|string|null $attributes

Return Value

void

void setAppends(array $appends)

Set the accessors to append to model arrays.

Parameters

array $appends

Return Value

void

array getFillable()

Get the fillable attributes for the model.

Return Value

array

$this fillable(array $fillable)

Set the fillable attributes for the model.

Parameters

array $fillable

Return Value

$this

array getGuarded()

Get the guarded attributes for the model.

Return Value

array

$this guard(array $guarded)

Set the guarded attributes for the model.

Parameters

array $guarded

Return Value

$this

static void unguard($state = true)

Disable all mass assignable restrictions.

Parameters

$state

Return Value

void

static void reguard()

Enable the mass assignment restrictions.

Return Value

void

static bool isUnguarded()

Determine if current state is "unguarded".

Return Value

bool

static mixed unguarded(callable $callback)

Run the given callable while being unguarded.

Parameters

callable $callback

Return Value

mixed

bool isFillable(string $key)

Determine if the given attribute may be mass assigned.

Parameters

string $key

Return Value

bool

bool isGuarded(string $key)

Determine if the given key is guarded.

Parameters

string $key

Return Value

bool

bool totallyGuarded()

Determine if the model is totally guarded.

Return Value

bool

protected string removeTableFromKey(string $key)

Remove the table name from a given key.

Parameters

string $key

Return Value

string

array getTouchedRelations()

Get the relationships that are touched on save.

Return Value

array

void setTouchedRelations(array $touches)

Set the relationships that are touched on save.

Parameters

array $touches

Return Value

void

bool getIncrementing()

Get the value indicating whether the IDs are incrementing.

Return Value

bool

void setIncrementing(bool $value)

Set whether IDs are incrementing.

Parameters

bool $value

Return Value

void

string toJson(int $options)

Convert the model instance to JSON.

Parameters

int $options

Return Value

string

array jsonSerialize()

Convert the object into something JSON serializable.

Return Value

array

array toArray()

Convert the model instance to an array.

Return Value

array

array attributesToArray()

Convert the model's attributes to an array.

Return Value

array

protected array getArrayableAttributes()

Get an attribute array of all arrayable attributes.

Return Value

array

protected array getArrayableAppends()

Get all of the appendable values that are arrayable.

Return Value

array

array relationsToArray()

Get the model's relationships in array form.

Return Value

array

protected array getArrayableRelations()

Get an attribute array of all arrayable relations.

Return Value

array

protected array getArrayableItems(array $values)

Get an attribute array of all arrayable values.

Parameters

array $values

Return Value

array

mixed getAttribute(string $key)

Get an attribute from the model.

Parameters

string $key

Return Value

mixed

protected mixed getAttributeValue(string $key)

Get a plain attribute (not a relationship).

Parameters

string $key

Return Value

mixed

protected mixed getAttributeFromArray(string $key)

Get an attribute from the $attributes array.

Parameters

string $key

Return Value

mixed

protected mixed getRelationshipFromMethod(string $method)

Get a relationship value from a method.

Parameters

string $method

Return Value

mixed

Exceptions

LogicException

bool hasGetMutator(string $key)

Determine if a get mutator exists for an attribute.

Parameters

string $key

Return Value

bool

protected mixed mutateAttribute(string $key, mixed $value)

Get the value of an attribute using its mutator.

Parameters

string $key
mixed $value

Return Value

mixed

protected mixed mutateAttributeForArray(string $key, mixed $value)

Get the value of an attribute using its mutator for array conversion.

Parameters

string $key
mixed $value

Return Value

mixed

protected bool hasCast(string $key)

Determine whether an attribute should be casted to a native type.

Parameters

string $key

Return Value

bool

protected bool isJsonCastable(string $key)

Determine whether a value is JSON castable for inbound manipulation.

Parameters

string $key

Return Value

bool

protected string getCastType(string $key)

Get the type of cast for a model attribute.

Parameters

string $key

Return Value

string

protected mixed castAttribute(string $key, mixed $value)

Cast an attribute to a native PHP type.

Parameters

string $key
mixed $value

Return Value

mixed

void setAttribute(string $key, mixed $value)

Set a given attribute on the model.

Parameters

string $key
mixed $value

Return Value

void

bool hasSetMutator(string $key)

Determine if a set mutator exists for an attribute.

Parameters

string $key

Return Value

bool

array getDates()

Get the attributes that should be converted to dates.

Return Value

array

string fromDateTime(DateTime|int $value)

Convert a DateTime to a storable string.

Parameters

DateTime|int $value

Return Value

string

protected Carbon asDateTime(mixed $value)

Return a timestamp as DateTime object.

Parameters

mixed $value

Return Value

Carbon

protected string getDateFormat()

Get the format for database stored dates.

Return Value

string

Model replicate(array $except = null)

Clone the model into a new, non-existing instance.

Parameters

array $except

Return Value

Model

array getAttributes()

Get all of the current attributes on the model.

Return Value

array

void setRawAttributes(array $attributes, bool $sync = false)

Set the array of model attributes. No checking is done.

Parameters

array $attributes
bool $sync

Return Value

void

array getOriginal(string $key = null, mixed $default = null)

Get the model's original attribute values.

Parameters

string $key
mixed $default

Return Value

array

$this syncOriginal()

Sync the original attributes with the current.

Return Value

$this

$this syncOriginalAttribute(string $attribute)

Sync a single original attribute with its current value.

Parameters

string $attribute

Return Value

$this

bool isDirty(array|string|null $attributes = null)

Determine if the model or given attribute(s) have been modified.

Parameters

array|string|null $attributes

Return Value

bool

array getDirty()

Get the attributes that have been changed since last sync.

Return Value

array

protected bool originalIsNumericallyEquivalent(string $key)

Determine if the new and old values for a given key are numerically equivalent.

Parameters

string $key

Return Value

bool

array getRelations()

Get all the loaded relations for the instance.

Return Value

array

mixed getRelation(string $relation)

Get a specified relationship.

Parameters

string $relation

Return Value

mixed

$this setRelation(string $relation, mixed $value)

Set the specific relationship in the model.

Parameters

string $relation
mixed $value

Return Value

$this

$this setRelations(array $relations)

Set the entire relations array on the model.

Parameters

array $relations

Return Value

$this

Connection getConnection()

Get the database connection for the model.

Return Value

Connection

string getConnectionName()

Get the current connection name for the model.

Return Value

string

$this setConnection(string $name)

Set the connection associated with the model.

Parameters

string $name

Return Value

$this

static Connection resolveConnection(string $connection = null)

Resolve a connection instance.

Parameters

string $connection

Return Value

Connection

static ConnectionResolverInterface getConnectionResolver()

Get the connection resolver instance.

static void setConnectionResolver(ConnectionResolverInterface $resolver)

Set the connection resolver instance.

Parameters

ConnectionResolverInterface $resolver

Return Value

void

static void unsetConnectionResolver()

Unset the connection resolver for models.

Return Value

void

static Dispatcher getEventDispatcher()

Get the event dispatcher instance.

Return Value

Dispatcher

static void setEventDispatcher(Dispatcher $dispatcher)

Set the event dispatcher instance.

Parameters

Dispatcher $dispatcher

Return Value

void

static void unsetEventDispatcher()

Unset the event dispatcher for models.

Return Value

void

array getMutatedAttributes()

Get the mutated attributes for a given instance.

Return Value

array

static void cacheMutatedAttributes(string $class)

Extract and cache all the mutated attributes of a class.

Parameters

string $class

Return Value

void

mixed __get(string $key)

Dynamically retrieve attributes on the model.

Parameters

string $key

Return Value

mixed

void __set(string $key, mixed $value)

Dynamically set attributes on the model.

Parameters

string $key
mixed $value

Return Value

void

bool offsetExists(mixed $offset)

Determine if the given attribute exists.

Parameters

mixed $offset

Return Value

bool

mixed offsetGet(mixed $offset)

Get the value for a given offset.

Parameters

mixed $offset

Return Value

mixed

void offsetSet(mixed $offset, mixed $value)

Set the value for a given offset.

Parameters

mixed $offset
mixed $value

Return Value

void

void offsetUnset(mixed $offset)

Unset the value for a given offset.

Parameters

mixed $offset

Return Value

void

bool __isset(string $key)

Determine if an attribute exists on the model.

Parameters

string $key

Return Value

bool

void __unset(string $key)

Unset an attribute on the model.

Parameters

string $key

Return Value

void

mixed __call(string $method, array $parameters)

Handle dynamic method calls into the model.

Parameters

string $method
array $parameters

Return Value

mixed

static mixed __callStatic(string $method, array $parameters)

Handle dynamic static method calls into the method.

Parameters

string $method
array $parameters

Return Value

mixed

string __toString()

Convert the model to its string representation.

Return Value

string

void __wakeup()

When a model is being unserialized, check if it needs to be booted.

Return Value

void