abstract class Model implements ArrayAccess, Arrayable, Jsonable, JsonSerializable, QueueableEntity, UrlRoutable (View source)
HasAttributes | |
HasEvents | |
HasGlobalScopes | |
HasRelationships | |
HasTimestamps | |
HidesAttributes | |
GuardsAttributes | |
ForwardsCalls |
CREATED_AT | The name of the "created at" column. |
UPDATED_AT | The name of the "updated at" column. |
protected array | $attributes | The model's attributes. | from HasAttributes |
protected array | $original | The model attribute's original state. | from HasAttributes |
protected array | $changes | The changed model attributes. | from HasAttributes |
protected array | $casts | The attributes that should be cast to native types. | from HasAttributes |
protected array | $dates | The attributes that should be mutated to dates. | from HasAttributes |
protected string | $dateFormat | The storage format of the model's date columns. | from HasAttributes |
protected array | $appends | The accessors to append to the model's array form. | from HasAttributes |
static bool | $snakeAttributes | Indicates whether attributes are snake cased on arrays. | from HasAttributes |
static protected array | $mutatorCache | The cache of the mutated attributes for each class. | from HasAttributes |
protected array | $dispatchesEvents | The event map for the model. | from HasEvents |
protected array | $observables | User exposed observable events. | from HasEvents |
protected array | $relations | The loaded relationships for the model. | from HasRelationships |
protected array | $touches | The relationships that should be touched on save. | from HasRelationships |
static array | $manyMethods | The many to many relationship methods. | from HasRelationships |
bool | $timestamps | Indicates if the model should be timestamped. | from HasTimestamps |
$hidden | The attributes that should be hidden for serialization. | from HidesAttributes | |
protected array | $visible | The attributes that should be visible in serialization. | from HidesAttributes |
protected array | $fillable | The attributes that are mass assignable. | from GuardsAttributes |
protected array | $guarded | The attributes that aren't mass assignable. | from GuardsAttributes |
static protected bool | $unguarded | Indicates if all mass assignment is enabled. | from GuardsAttributes |
protected string|null | $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 string | $keyType | The "type" of the primary key ID. | |
bool | $incrementing | Indicates if the IDs are auto-incrementing. | |
protected array | $with | The relations to eager load on every query. | |
protected array | $withCount | The relationship counts that should be eager loaded on every query. | |
protected int | $perPage | The number of models to return for pagination. | |
bool | $exists | Indicates if the model exists. | |
bool | $wasRecentlyCreated | Indicates if the model was inserted during the current request lifecycle. | |
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 | $traitInitializers | The array of trait initializers that will be called on each new instance. | |
static protected array | $globalScopes | The array of global scopes on the model. | |
static protected array | $ignoreOnTouch | The list of models classes that should not be affected with touch. |
array | attributesToArray() Convert the model's attributes to an array. | from HasAttributes |
array | addDateAttributesToArray(array $attributes) Add the date attributes to the attributes array. | from HasAttributes |
array | addMutatedAttributesToArray(array $attributes, array $mutatedAttributes) Add the mutated attributes to the attributes array. | from HasAttributes |
array | addCastAttributesToArray(array $attributes, array $mutatedAttributes) Add the casted attributes to the attributes array. | from HasAttributes |
array | getArrayableAttributes() Get an attribute array of all arrayable attributes. | from HasAttributes |
array | getArrayableAppends() Get all of the appendable values that are arrayable. | from HasAttributes |
array | relationsToArray() Get the model's relationships in array form. | from HasAttributes |
array | getArrayableRelations() Get an attribute array of all arrayable relations. | from HasAttributes |
array | getArrayableItems(array $values) Get an attribute array of all arrayable values. | from HasAttributes |
mixed | getAttribute(string $key) Get an attribute from the model. | from HasAttributes |
mixed | getAttributeValue(string $key) Get a plain attribute (not a relationship). | from HasAttributes |
mixed | getAttributeFromArray(string $key) Get an attribute from the $attributes array. | from HasAttributes |
mixed | getRelationValue(string $key) Get a relationship. | from HasAttributes |
mixed | getRelationshipFromMethod(string $method) Get a relationship value from a method. | from HasAttributes |
bool | hasGetMutator(string $key) Determine if a get mutator exists for an attribute. | from HasAttributes |
mixed | mutateAttribute(string $key, mixed $value) Get the value of an attribute using its mutator. | from HasAttributes |
mixed | mutateAttributeForArray(string $key, mixed $value) Get the value of an attribute using its mutator for array conversion. | from HasAttributes |
mixed | castAttribute(string $key, mixed $value) Cast an attribute to a native PHP type. | from HasAttributes |
string | getCastType(string $key) Get the type of cast for a model attribute. | from HasAttributes |
bool | isCustomDateTimeCast(string $cast) Determine if the cast type is a custom date time cast. | from HasAttributes |
bool | isDecimalCast(string $cast) Determine if the cast type is a decimal cast. | from HasAttributes |
mixed | setAttribute(string $key, mixed $value) Set a given attribute on the model. | from HasAttributes |
bool | hasSetMutator(string $key) Determine if a set mutator exists for an attribute. | from HasAttributes |
mixed | setMutatedAttributeValue(string $key, mixed $value) Set the value of an attribute using its mutator. | from HasAttributes |
bool | isDateAttribute(string $key) Determine if the given attribute is a date or date castable. | from HasAttributes |
$this | fillJsonAttribute(string $key, mixed $value) Set a given JSON attribute on the model. | from HasAttributes |
$this | getArrayAttributeWithValue(string $path, string $key, mixed $value) Get an array attribute with the given key and value set. | from HasAttributes |
array | getArrayAttributeByKey(string $key) Get an array attribute or return an empty array if it is not set. | from HasAttributes |
string | castAttributeAsJson(string $key, mixed $value) Cast the given attribute to JSON. | from HasAttributes |
string | asJson(mixed $value) Encode the given value as JSON. | from HasAttributes |
mixed | fromJson(string $value, bool $asObject = false) Decode the given JSON back into an array or object. | from HasAttributes |
mixed | fromFloat(mixed $value) Decode the given float. | from HasAttributes |
string | asDecimal(float $value, int $decimals) Return a decimal as string. | from HasAttributes |
Carbon | asDate(mixed $value) Return a timestamp as DateTime object with time set to 00:00:00. | from HasAttributes |
Carbon | asDateTime(mixed $value) Return a timestamp as DateTime object. | from HasAttributes |
bool | isStandardDateFormat(string $value) Determine if the given value is a standard date format. | from HasAttributes |
string|null | fromDateTime(mixed $value) Convert a DateTime to a storable string. | from HasAttributes |
int | asTimestamp(mixed $value) Return a timestamp as unix timestamp. | from HasAttributes |
string | serializeDate(DateTimeInterface $date) Prepare a date for array / JSON serialization. | from HasAttributes |
array | getDates() Get the attributes that should be converted to dates. | from HasAttributes |
string | getDateFormat() Get the format for database stored dates. | from HasAttributes |
$this | setDateFormat(string $format) Set the date format used by the model. | from HasAttributes |
bool | hasCast(string $key, array|string|null $types = null) Determine whether an attribute should be cast to a native type. | from HasAttributes |
array | getCasts() Get the casts array. | from HasAttributes |
bool | isDateCastable(string $key) Determine whether a value is Date / DateTime castable for inbound manipulation. | from HasAttributes |
bool | isJsonCastable(string $key) Determine whether a value is JSON castable for inbound manipulation. | from HasAttributes |
array | getAttributes() Get all of the current attributes on the model. | from HasAttributes |
$this | setRawAttributes(array $attributes, bool $sync = false) Set the array of model attributes. No checking is done. | from HasAttributes |
mixed|array | getOriginal(string|null $key = null, mixed $default = null) Get the model's original attribute values. | from HasAttributes |
array | only(array|mixed $attributes) Get a subset of the model's attributes. | from HasAttributes |
$this | syncOriginal() Sync the original attributes with the current. | from HasAttributes |
$this | syncOriginalAttribute(string $attribute) Sync a single original attribute with its current value. | from HasAttributes |
$this | syncOriginalAttributes(array|string $attributes) Sync multiple original attribute with their current values. | from HasAttributes |
$this | syncChanges() Sync the changed attributes. | from HasAttributes |
bool | isDirty(array|string|null $attributes = null) Determine if the model or any of the given attribute(s) have been modified. | from HasAttributes |
bool | isClean(array|string|null $attributes = null) Determine if the model and all the given attribute(s) have remained the same. | from HasAttributes |
bool | wasChanged(array|string|null $attributes = null) Determine if the model or any of the given attribute(s) have been modified. | from HasAttributes |
bool | hasChanges(array $changes, array|string|null $attributes = null) Determine if any of the given attributes were changed. | from HasAttributes |
array | getDirty() Get the attributes that have been changed since last sync. | from HasAttributes |
array | getChanges() Get the attributes that were changed. | from HasAttributes |
bool | originalIsEquivalent(string $key, mixed $current) Determine if the new and old values for a given key are equivalent. | from HasAttributes |
$this | append(array|string $attributes) Append attributes to query when building a query. | from HasAttributes |
$this | setAppends(array $appends) Set the accessors to append to model arrays. | from HasAttributes |
array | getMutatedAttributes() Get the mutated attributes for a given instance. | from HasAttributes |
static void | cacheMutatedAttributes(string $class) Extract and cache all the mutated attributes of a class. | from HasAttributes |
static array | getMutatorMethods(mixed $class) Get all of the attribute mutator methods. | from HasAttributes |
static void | observe(object|array|string $classes) Register observers with the model. | from HasEvents |
void | registerObserver(object|string $class) Register a single observer with the model. | from HasEvents |
array | getObservableEvents() Get the observable event names. | from HasEvents |
$this | setObservableEvents(array $observables) Set the observable event names. | from HasEvents |
void | addObservableEvents(array|mixed $observables) Add an observable event name. | from HasEvents |
void | removeObservableEvents(array|mixed $observables) Remove an observable event name. | from HasEvents |
static void | registerModelEvent(string $event, Closure|string $callback) Register a model event with the dispatcher. | from HasEvents |
mixed | fireModelEvent(string $event, bool $halt = true) Fire the given event for the model. | from HasEvents |
mixed|null | fireCustomModelEvent(string $event, string $method) Fire a custom model event for the given event. | from HasEvents |
mixed | filterModelEventResults(mixed $result) Filter the model event results. | from HasEvents |
static void | retrieved(Closure|string $callback) Register a retrieved model event with the dispatcher. | from HasEvents |
static void | saving(Closure|string $callback) Register a saving model event with the dispatcher. | from HasEvents |
static void | saved(Closure|string $callback) Register a saved model event with the dispatcher. | from HasEvents |
static void | updating(Closure|string $callback) Register an updating model event with the dispatcher. | from HasEvents |
static void | updated(Closure|string $callback) Register an updated model event with the dispatcher. | from HasEvents |
static void | creating(Closure|string $callback) Register a creating model event with the dispatcher. | from HasEvents |
static void | created(Closure|string $callback) Register a created model event with the dispatcher. | from HasEvents |
static void | replicating(Closure|string $callback) Register a replicating model event with the dispatcher. | from HasEvents |
static void | deleting(Closure|string $callback) Register a deleting model event with the dispatcher. | from HasEvents |
static void | deleted(Closure|string $callback) Register a deleted model event with the dispatcher. | from HasEvents |
static void | flushEventListeners() Remove all of the event listeners for the model. | from HasEvents |
static Dispatcher | getEventDispatcher() Get the event dispatcher instance. | from HasEvents |
static void | setEventDispatcher(Dispatcher $dispatcher) Set the event dispatcher instance. | from HasEvents |
static void | unsetEventDispatcher() Unset the event dispatcher for models. | from HasEvents |
static mixed | withoutEvents(callable $callback) Execute a callback without firing any model events for any model type. | from HasEvents |
static mixed | addGlobalScope(Scope|Closure|string $scope, Closure $implementation = null) Register a new global scope on the model. | from HasGlobalScopes |
static bool | hasGlobalScope(Scope|string $scope) Determine if a model has a global scope. | from HasGlobalScopes |
static Scope|Closure|null | getGlobalScope(Scope|string $scope) Get a global scope registered with the model. | from HasGlobalScopes |
array | getGlobalScopes() Get the global scopes for this class instance. | from HasGlobalScopes |
HasOne | hasOne(string $related, string $foreignKey = null, string $localKey = null) Define a one-to-one relationship. | from HasRelationships |
HasOne | newHasOne(Builder $query, Model $parent, string $foreignKey, string $localKey) Instantiate a new HasOne relationship. | from HasRelationships |
HasOneThrough | hasOneThrough(string $related, string $through, string|null $firstKey = null, string|null $secondKey = null, string|null $localKey = null, string|null $secondLocalKey = null) Define a has-one-through relationship. | from HasRelationships |
HasOneThrough | newHasOneThrough(Builder $query, Model $farParent, Model $throughParent, string $firstKey, string $secondKey, string $localKey, string $secondLocalKey) Instantiate a new HasOneThrough relationship. | from HasRelationships |
MorphOne | morphOne(string $related, string $name, string $type = null, string $id = null, string $localKey = null) Define a polymorphic one-to-one relationship. | from HasRelationships |
MorphOne | newMorphOne(Builder $query, Model $parent, string $type, string $id, string $localKey) Instantiate a new MorphOne relationship. | from HasRelationships |
BelongsTo | belongsTo(string $related, string $foreignKey = null, string $ownerKey = null, string $relation = null) Define an inverse one-to-one or many relationship. | from HasRelationships |
BelongsTo | newBelongsTo(Builder $query, Model $child, string $foreignKey, string $ownerKey, string $relation) Instantiate a new BelongsTo relationship. | from HasRelationships |
MorphTo | morphTo(string $name = null, string $type = null, string $id = null, string $ownerKey = null) Define a polymorphic, inverse one-to-one or many relationship. | from HasRelationships |
MorphTo | morphEagerTo(string $name, string $type, string $id, string $ownerKey) Define a polymorphic, inverse one-to-one or many relationship. | from HasRelationships |
MorphTo | morphInstanceTo(string $target, string $name, string $type, string $id, string $ownerKey) Define a polymorphic, inverse one-to-one or many relationship. | from HasRelationships |
MorphTo | newMorphTo(Builder $query, Model $parent, string $foreignKey, string $ownerKey, string $type, string $relation) Instantiate a new MorphTo relationship. | from HasRelationships |
static string | getActualClassNameForMorph(string $class) Retrieve the actual class name for a given morph class. | from HasRelationships |
string | guessBelongsToRelation() Guess the "belongs to" relationship name. | from HasRelationships |
HasMany | hasMany(string $related, string $foreignKey = null, string $localKey = null) Define a one-to-many relationship. | from HasRelationships |
HasMany | newHasMany(Builder $query, Model $parent, string $foreignKey, string $localKey) Instantiate a new HasMany relationship. | from HasRelationships |
HasManyThrough | hasManyThrough(string $related, string $through, string|null $firstKey = null, string|null $secondKey = null, string|null $localKey = null, string|null $secondLocalKey = null) Define a has-many-through relationship. | from HasRelationships |
HasManyThrough | newHasManyThrough(Builder $query, Model $farParent, Model $throughParent, string $firstKey, string $secondKey, string $localKey, string $secondLocalKey) Instantiate a new HasManyThrough relationship. | from HasRelationships |
MorphMany | morphMany(string $related, string $name, string $type = null, string $id = null, string $localKey = null) Define a polymorphic one-to-many relationship. | from HasRelationships |
MorphMany | newMorphMany(Builder $query, Model $parent, string $type, string $id, string $localKey) Instantiate a new MorphMany relationship. | from HasRelationships |
BelongsToMany | belongsToMany(string $related, string $table = null, string $foreignPivotKey = null, string $relatedPivotKey = null, string $parentKey = null, string $relatedKey = null, string $relation = null) Define a many-to-many relationship. | from HasRelationships |
BelongsToMany | newBelongsToMany(Builder $query, Model $parent, string $table, string $foreignPivotKey, string $relatedPivotKey, string $parentKey, string $relatedKey, string $relationName = null) Instantiate a new BelongsToMany relationship. | from HasRelationships |
MorphToMany | morphToMany(string $related, string $name, string $table = null, string $foreignPivotKey = null, string $relatedPivotKey = null, string $parentKey = null, string $relatedKey = null, bool $inverse = false) Define a polymorphic many-to-many relationship. | from HasRelationships |
MorphToMany | newMorphToMany(Builder $query, Model $parent, string $name, string $table, string $foreignPivotKey, string $relatedPivotKey, string $parentKey, string $relatedKey, string $relationName = null, bool $inverse = false) Instantiate a new MorphToMany relationship. | from HasRelationships |
MorphToMany | morphedByMany(string $related, string $name, string $table = null, string $foreignPivotKey = null, string $relatedPivotKey = null, string $parentKey = null, string $relatedKey = null) Define a polymorphic, inverse many-to-many relationship. | from HasRelationships |
string|null | guessBelongsToManyRelation() Get the relationship name of the belongsToMany relationship. | from HasRelationships |
string | joiningTable(string $related, Model|null $instance = null) Get the joining table name for a many-to-many relation. | from HasRelationships |
string | joiningTableSegment() Get this model's half of the intermediate table name for belongsToMany relationships. | from HasRelationships |
bool | touches(string $relation) Determine if the model touches a given relation. | from HasRelationships |
void | touchOwners() Touch the owning relations of the model. | from HasRelationships |
array | getMorphs(string $name, string $type, string $id) Get the polymorphic relationship columns. | from HasRelationships |
string | getMorphClass() Get the class name for polymorphic relations. | from HasRelationships |
mixed | newRelatedInstance(string $class) Create a new model instance for a related model. | from HasRelationships |
array | getRelations() Get all the loaded relations for the instance. | from HasRelationships |
mixed | getRelation(string $relation) Get a specified relationship. | from HasRelationships |
bool | relationLoaded(string $key) Determine if the given relation is loaded. | from HasRelationships |
$this | setRelation(string $relation, mixed $value) Set the given relationship on the model. | from HasRelationships |
$this | unsetRelation(string $relation) Unset a loaded relationship. | from HasRelationships |
$this | setRelations(array $relations) Set the entire relations array on the model. | from HasRelationships |
array | getTouchedRelations() Get the relationships that are touched on save. | from HasRelationships |
$this | setTouchedRelations(array $touches) Set the relationships that are touched on save. | from HasRelationships |
bool | touch() Update the model's update timestamp. | from HasTimestamps |
void | updateTimestamps() Update the creation and update timestamps. | from HasTimestamps |
$this | setCreatedAt(mixed $value) Set the value of the "created at" attribute. | from HasTimestamps |
$this | setUpdatedAt(mixed $value) Set the value of the "updated at" attribute. | from HasTimestamps |
Carbon | freshTimestamp() Get a fresh timestamp for the model. | from HasTimestamps |
string | freshTimestampString() Get a fresh timestamp for the model. | from HasTimestamps |
bool | usesTimestamps() Determine if the model uses timestamps. | from HasTimestamps |
string | getCreatedAtColumn() Get the name of the "created at" column. | from HasTimestamps |
string | getUpdatedAtColumn() Get the name of the "updated at" column. | from HasTimestamps |
array | getHidden() Get the hidden attributes for the model. | from HidesAttributes |
$this | setHidden(array $hidden) Set the hidden attributes for the model. | from HidesAttributes |
void | addHidden(array|string|null $attributes = null) Add hidden attributes for the model. | from HidesAttributes |
array | getVisible() Get the visible attributes for the model. | from HidesAttributes |
$this | setVisible(array $visible) Set the visible attributes for the model. | from HidesAttributes |
void | addVisible(array|string|null $attributes = null) Add visible attributes for the model. | from HidesAttributes |
$this | makeVisible(array|string $attributes) Make the given, typically hidden, attributes visible. | from HidesAttributes |
$this | makeHidden(array|string $attributes) Make the given, typically visible, attributes hidden. | from HidesAttributes |
array | getFillable() Get the fillable attributes for the model. | from GuardsAttributes |
$this | fillable(array $fillable) Set the fillable attributes for the model. | from GuardsAttributes |
array | getGuarded() Get the guarded attributes for the model. | from GuardsAttributes |
$this | guard(array $guarded) Set the guarded attributes for the model. | from GuardsAttributes |
static void | unguard(bool $state = true) Disable all mass assignable restrictions. | from GuardsAttributes |
static void | reguard() Enable the mass assignment restrictions. | from GuardsAttributes |
static bool | isUnguarded() Determine if current state is "unguarded". | from GuardsAttributes |
static mixed | unguarded(callable $callback) Run the given callable while being unguarded. | from GuardsAttributes |
bool | isFillable(string $key) Determine if the given attribute may be mass assigned. | from GuardsAttributes |
bool | isGuarded(string $key) Determine if the given key is guarded. | from GuardsAttributes |
bool | totallyGuarded() Determine if the model is totally guarded. | from GuardsAttributes |
array | fillableFromArray(array $attributes) Get the fillable attributes of a given array. | from GuardsAttributes |
mixed | forwardCallTo(mixed $object, string $method, array $parameters) Forward a method call to the given object. | from ForwardsCalls |
static void | throwBadMethodCallException(string $method) Throw a bad method call exception for the given method. | from ForwardsCalls |
void | __construct(array $attributes = []) 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. | |
void | initializeTraits() Initialize any initializable traits on the model. | |
static void | clearBootedModels() Clear the list of booted models so they will be re-booted. | |
static void | withoutTouching(callable $callback) Disables relationship model touching for the current class during given callback scope. | |
static void | withoutTouchingOn(array $models, callable $callback) Disables relationship model touching for the given model classes during given callback scope. | |
static bool | isIgnoringTouch(string|null $class = null) Determine if the given model is ignoring touches. | |
$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. | |
string | qualifyColumn(string $column) Qualify the given column name by the model's table. | |
string | removeTableFromKey(string $key) Remove the table name from a given key. | |
Model | newInstance(array $attributes = [], bool $exists = false) Create a new instance of the given model. | |
Model | newFromBuilder(array $attributes = [], string|null $connection = null) Create a new model instance that is existing. | |
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|mixed $columns = ['*']) Get all of the models from the database. | |
static Builder|Model | with(array|string $relations) Begin querying a model with eager loading. | |
$this | load(array|string $relations) Eager load relations on the model. | |
$this | loadMissing(array|string $relations) Eager load relations on the model if they are not already eager loaded. | |
$this | loadCount(array|string $relations) Eager load relation counts on the model. | |
int | increment(string $column, float|int $amount = 1, array $extra = []) Increment a column's value by a given amount. | |
int | decrement(string $column, float|int $amount = 1, array $extra = []) Decrement a column's value by a given amount. | |
int | incrementOrDecrement(string $column, float|int $amount, array $extra, string $method) Run the increment or decrement method on the model. | |
void | incrementOrDecrementAttributeValue(string $column, float|int $amount, array $extra, string $method) Increment the underlying attribute value and sync with original. | |
bool | update(array $attributes = [], array $options = []) Update the model in the database. | |
bool | push() Save the model and all of its relationships. | |
bool | save(array $options = []) Save the model to the database. | |
bool | saveOrFail(array $options = []) Save the model to the database using transaction. | |
void | finishSave(array $options) Perform any actions that are necessary after the model is saved. | |
bool | performUpdate(Builder $query) Perform a model update operation. | |
Builder | setKeysForSaveQuery(Builder $query) Set the keys for a save update query. | |
mixed | getKeyForSaveQuery() Get the primary key value for a save query. | |
bool | performInsert(Builder $query) Perform a model insert operation. | |
void | insertAndSetId(Builder $query, array $attributes) Insert the given attributes and set the ID on the model. | |
static int | destroy(Collection|array|int $ids) Destroy the models for the given IDs. | |
bool|null | delete() Delete the model from the database. | |
bool|null | forceDelete() Force a hard delete on a soft deleted model. | |
void | performDeleteOnModel() Perform the actual delete query on this model instance. | |
static Builder | query() Begin querying the model. | |
Builder | newQuery() Get a new query builder for the model's table. | |
Builder|Model | newModelQuery() Get a new query builder that doesn't have any global scopes or eager loading. | |
Builder | newQueryWithoutRelationships() Get a new query builder with no relationships loaded. | |
Builder | registerGlobalScopes(Builder $builder) Register the global scopes for this builder instance. | |
Builder|Model | newQueryWithoutScopes() Get a new query builder that doesn't have any global scopes. | |
Builder | newQueryWithoutScope(Scope|string $scope) Get a new query instance without a given scope. | |
Builder | newQueryForRestoration(array|int $ids) Get a new query to restore one or more models by their queueable IDs. | |
Builder|Model | newEloquentBuilder(Builder $query) Create a new Eloquent query builder for the model. | |
Builder | newBaseQueryBuilder() Get a new query builder instance for the connection. | |
Collection | newCollection(array $models = []) Create a new Eloquent Collection instance. | |
Pivot | newPivot(Model $parent, array $attributes, string $table, bool $exists, string|null $using = null) Create a new pivot model instance. | |
array | toArray() Convert the model instance to an array. | |
string | toJson(int $options = 0) Convert the model instance to JSON. | |
array | jsonSerialize() Convert the object into something JSON serializable. | |
Model|null | fresh(array|string $with = []) Reload a fresh model instance from the database. | |
$this | refresh() Reload the current model instance with fresh attributes from the database. | |
Model | replicate(array $except = null) Clone the model into a new, non-existing instance. | |
bool | is(Model|null $model) Determine if two models have the same ID and belong to the same table. | |
bool | isNot(Model|null $model) Determine if two models are not the same. | |
Connection | getConnection() Get the database connection for the model. | |
string|null | getConnectionName() Get the current connection name for the model. | |
$this | setConnection(string|null $name) Set the connection associated with the model. | |
static Connection | resolveConnection(string|null $connection = null) Resolve a connection instance. | |
static ConnectionResolverInterface | 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. | |
string | getTable() Get the table associated with the model. | |
$this | setTable(string $table) Set the table associated with the model. | |
string | getKeyName() Get the primary key for the model. | |
$this | setKeyName(string $key) Set the primary key for the model. | |
string | getQualifiedKeyName() Get the table qualified key name. | |
string | getKeyType() Get the auto-incrementing key type. | |
$this | setKeyType(string $type) Set the data type for the primary key. | |
bool | getIncrementing() Get the value indicating whether the IDs are incrementing. | |
$this | setIncrementing(bool $value) Set whether IDs are incrementing. | |
mixed | getKey() Get the value of the model's primary key. | |
mixed | getQueueableId() Get the queueable identity for the entity. | |
array | getQueueableRelations() Get the queueable relationships for the entity. | |
string|null | getQueueableConnection() Get the queueable connection for the entity. | |
mixed | getRouteKey() Get the value of the model's route key. | |
string | getRouteKeyName() Get the route key for the model. | |
Model|null | resolveRouteBinding(mixed $value) Retrieve the model for a bound value. | |
string | getForeignKey() Get the default foreign key name for the model. | |
int | getPerPage() Get the number of models to return per page. | |
$this | setPerPage(int $perPage) Set the number of models to return per page. | |
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 or relation 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. |
Convert the model's attributes to an array.
Add the date attributes to the attributes array.
Add the mutated attributes to the attributes array.
Add the casted attributes to the attributes array.
Get an attribute array of all arrayable attributes.
Get all of the appendable values that are arrayable.
Get the model's relationships in array form.
Get an attribute array of all arrayable relations.
Get an attribute array of all arrayable values.
Get an attribute from the model.
Get a plain attribute (not a relationship).
Get an attribute from the $attributes array.
Get a relationship.
Get a relationship value from a method.
Determine if a get mutator exists for an attribute.
Get the value of an attribute using its mutator.
Get the value of an attribute using its mutator for array conversion.
Cast an attribute to a native PHP type.
Get the type of cast for a model attribute.
Determine if the cast type is a custom date time cast.
Determine if the cast type is a decimal cast.
Set a given attribute on the model.
Determine if a set mutator exists for an attribute.
Set the value of an attribute using its mutator.
Determine if the given attribute is a date or date castable.
Set a given JSON attribute on the model.
Get an array attribute with the given key and value set.
Get an array attribute or return an empty array if it is not set.
Cast the given attribute to JSON.
Encode the given value as JSON.
Decode the given JSON back into an array or object.
Decode the given float.
Return a decimal as string.
Return a timestamp as DateTime object with time set to 00:00:00.
Return a timestamp as DateTime object.
Determine if the given value is a standard date format.
Convert a DateTime to a storable string.
Return a timestamp as unix timestamp.
Prepare a date for array / JSON serialization.
Get the attributes that should be converted to dates.
Get the format for database stored dates.
Set the date format used by the model.
Determine whether an attribute should be cast to a native type.
Get the casts array.
Determine whether a value is Date / DateTime castable for inbound manipulation.
Determine whether a value is JSON castable for inbound manipulation.
Get all of the current attributes on the model.
Set the array of model attributes. No checking is done.
Get the model's original attribute values.
Get a subset of the model's attributes.
Sync the original attributes with the current.
Sync a single original attribute with its current value.
Sync multiple original attribute with their current values.
Sync the changed attributes.
Determine if the model or any of the given attribute(s) have been modified.
Determine if the model and all the given attribute(s) have remained the same.
Determine if the model or any of the given attribute(s) have been modified.
Determine if any of the given attributes were changed.
Get the attributes that have been changed since last sync.
Get the attributes that were changed.
Determine if the new and old values for a given key are equivalent.
Append attributes to query when building a query.
Set the accessors to append to model arrays.
Get the mutated attributes for a given instance.
Extract and cache all the mutated attributes of a class.
Get all of the attribute mutator methods.
Register observers with the model.
Register a single observer with the model.
Get the observable event names.
Set the observable event names.
Add an observable event name.
Remove an observable event name.
Register a model event with the dispatcher.
Fire the given event for the model.
Fire a custom model event for the given event.
Filter the model event results.
Register a retrieved model event with the dispatcher.
Register a saving model event with the dispatcher.
Register a saved model event with the dispatcher.
Register an updating model event with the dispatcher.
Register an updated model event with the dispatcher.
Register a creating model event with the dispatcher.
Register a created model event with the dispatcher.
Register a replicating model event with the dispatcher.
Register a deleting model event with the dispatcher.
Register a deleted model event with the dispatcher.
Remove all of the event listeners for the model.
Get the event dispatcher instance.
Set the event dispatcher instance.
Unset the event dispatcher for models.
Execute a callback without firing any model events for any model type.
Register a new global scope on the model.
Determine if a model has a global scope.
Get a global scope registered with the model.
Get the global scopes for this class instance.
Define a one-to-one relationship.
Instantiate a new HasOne relationship.
Define a has-one-through relationship.
Instantiate a new HasOneThrough relationship.
Define a polymorphic one-to-one relationship.
Instantiate a new MorphOne relationship.
Define an inverse one-to-one or many relationship.
Instantiate a new BelongsTo relationship.
Define a polymorphic, inverse one-to-one or many relationship.
Define a polymorphic, inverse one-to-one or many relationship.
Define a polymorphic, inverse one-to-one or many relationship.
Instantiate a new MorphTo relationship.
Retrieve the actual class name for a given morph class.
Guess the "belongs to" relationship name.
Define a one-to-many relationship.
Instantiate a new HasMany relationship.
Define a has-many-through relationship.
Instantiate a new HasManyThrough relationship.
Define a polymorphic one-to-many relationship.
Instantiate a new MorphMany relationship.
Define a many-to-many relationship.
Instantiate a new BelongsToMany relationship.
Define a polymorphic many-to-many relationship.
Instantiate a new MorphToMany relationship.
Define a polymorphic, inverse many-to-many relationship.
Get the relationship name of the belongsToMany relationship.
Get the joining table name for a many-to-many relation.
Get this model's half of the intermediate table name for belongsToMany relationships.
Determine if the model touches a given relation.
Touch the owning relations of the model.
Get the polymorphic relationship columns.
Get the class name for polymorphic relations.
Create a new model instance for a related model.
Get all the loaded relations for the instance.
Get a specified relationship.
Determine if the given relation is loaded.
Set the given relationship on the model.
Unset a loaded relationship.
Set the entire relations array on the model.
Get the relationships that are touched on save.
Set the relationships that are touched on save.
Update the model's update timestamp.
Update the creation and update timestamps.
Set the value of the "created at" attribute.
Set the value of the "updated at" attribute.
Get a fresh timestamp for the model.
Get a fresh timestamp for the model.
Determine if the model uses timestamps.
Get the name of the "created at" column.
Get the name of the "updated at" column.
Get the hidden attributes for the model.
Set the hidden attributes for the model.
Add hidden attributes for the model.
Get the visible attributes for the model.
Set the visible attributes for the model.
Add visible attributes for the model.
Make the given, typically hidden, attributes visible.
Make the given, typically visible, attributes hidden.
Get the fillable attributes for the model.
Set the fillable attributes for the model.
Get the guarded attributes for the model.
Set the guarded attributes for the model.
Disable all mass assignable restrictions.
Enable the mass assignment restrictions.
Determine if current state is "unguarded".
Run the given callable while being unguarded.
Determine if the given attribute may be mass assigned.
Determine if the given key is guarded.
Determine if the model is totally guarded.
Get the fillable attributes of a given array.
Forward a method call to the given object.
Throw a bad method call exception for the given method.
Create a new Eloquent model instance.
Check if the model needs to be booted and if so, do it.
The "booting" method of the model.
Boot all of the bootable traits on the model.
Initialize any initializable traits on the model.
Clear the list of booted models so they will be re-booted.
Disables relationship model touching for the current class during given callback scope.
Disables relationship model touching for the given model classes during given callback scope.
Determine if the given model is ignoring touches.
Fill the model with an array of attributes.
Fill the model with an array of attributes. Force mass assignment.
Qualify the given column name by the model's table.
Remove the table name from a given key.
Create a new instance of the given model.
Create a new model instance that is existing.
Begin querying the model on a given connection.
Begin querying the model on the write connection.
Get all of the models from the database.
Eager load relations on the model.
Eager load relations on the model if they are not already eager loaded.
Eager load relation counts on the model.
Increment a column's value by a given amount.
Decrement a column's value by a given amount.
Run the increment or decrement method on the model.
Increment the underlying attribute value and sync with original.
Update the model in the database.
Save the model and all of its relationships.
Save the model to the database.
Save the model to the database using transaction.
Perform any actions that are necessary after the model is saved.
Perform a model update operation.
Get the primary key value for a save query.
Perform a model insert operation.
Insert the given attributes and set the ID on the model.
Destroy the models for the given IDs.
Delete the model from the database.
Force a hard delete on a soft deleted model.
This method protects developers from running forceDelete when trait is missing.
Perform the actual delete query on this model instance.
Begin querying the model.
Get a new query builder for the model's table.
Get a new query builder that doesn't have any global scopes or eager loading.
Get a new query builder with no relationships loaded.
Register the global scopes for this builder instance.
Get a new query to restore one or more models by their queueable IDs.
Get a new query builder instance for the connection.
Create a new Eloquent Collection instance.
Create a new pivot model instance.
Convert the model instance to an array.
Convert the model instance to JSON.
Convert the object into something JSON serializable.
Reload a fresh model instance from the database.
Reload the current model instance with fresh attributes from the database.
Clone the model into a new, non-existing instance.
Determine if two models have the same ID and belong to the same table.
Determine if two models are not the same.
Get the database connection for the model.
Get the current connection name for the model.
Set the connection associated with the model.
Resolve a connection instance.
Get the connection resolver instance.
Set the connection resolver instance.
Unset the connection resolver for models.
Get the table associated with the model.
Set the table associated with the model.
Get the primary key for the model.
Set the primary key for the model.
Get the table qualified key name.
Get the auto-incrementing key type.
Set the data type for the primary key.
Get the value indicating whether the IDs are incrementing.
Set whether IDs are incrementing.
Get the value of the model's primary key.
Get the queueable identity for the entity.
Get the queueable relationships for the entity.
Get the queueable connection for the entity.
Get the value of the model's route key.
Get the route key for the model.
Retrieve the model for a bound value.
Get the default foreign key name for the model.
Get the number of models to return per page.
Set the number of models to return per page.
Dynamically retrieve attributes on the model.
Dynamically set attributes on the model.
Determine if the given attribute exists.
Get the value for a given offset.
Set the value for a given offset.
Unset the value for a given offset.
Determine if an attribute or relation exists on the model.
Unset an attribute on the model.
Handle dynamic method calls into the model.
Handle dynamic static method calls into the method.
Convert the model to its string representation.
When a model is being unserialized, check if it needs to be booted.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.8/Illuminate/Database/Eloquent/Model.html