class Model implements ArrayAccess, Arrayable, Jsonable, JsonSerializable, QueueableEntity, UrlRoutable (View source)
CREATED_AT | The name of the "created at" column. |
UPDATED_AT | The name of the "updated at" column. |
bool | $incrementing | Indicates if the IDs are auto-incrementing. | |
bool | $timestamps | Indicates if the model should be timestamped. | |
bool | $exists | Indicates if the model exists. | |
bool | $wasRecentlyCreated | Indicates if the model was inserted during the current request lifecycle. | |
static bool | $snakeAttributes | Indicates whether attributes are snake cased on arrays. | |
static array | $manyMethods | The many to many relationship methods. |
void | __construct(array $attributes = array()) Create a new Eloquent model instance. | |
static void | clearBootedModels() Clear the list of booted models so they will be re-booted. | |
static mixed | addGlobalScope(Scope|Closure|string $scope, Closure $implementation = null) Register a new global scope on the model. | |
static bool | hasGlobalScope(Scope|string $scope) Determine if a model has a global scope. | |
static Scope|Closure|null | getGlobalScope(Scope|string $scope) Get a global scope registered with the model. | |
array | getGlobalScopes() Get the global scopes for this class instance. | |
static void | observe(object|string $class, int $priority) 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. | |
Model | newInstance(array $attributes = array(), bool $exists = false) Create a new instance of the given model. | |
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 = array()) 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 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|mixed $columns = array('*')) Get all of the models from the database. | |
Model|null | fresh(array|string $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) Begin querying a model with eager loading. | |
$this | append(array|string $attributes) Append attributes to query when building a query. | |
HasOne | hasOne(string $related, string $foreignKey = null, string $localKey = null) Define a one-to-one relationship. | |
MorphOne | morphOne(string $related, string $name, string $type = null, string $id = null, string $localKey = null) Define a polymorphic one-to-one relationship. | |
BelongsTo | belongsTo(string $related, string $foreignKey = null, string $otherKey = null, string $relation = null) Define an inverse one-to-one or many relationship. | |
MorphTo | morphTo(string $name = null, string $type = null, string $id = null) Define a polymorphic, inverse one-to-one or many relationship. | |
string | getActualClassNameForMorph(string $class) Retrieve the fully qualified class name from a slug. | |
HasMany | hasMany(string $related, string $foreignKey = null, string $localKey = null) Define a one-to-many relationship. | |
HasManyThrough | hasManyThrough(string $related, string $through, string|null $firstKey = null, string|null $secondKey = null, string|null $localKey = null) Define a has-many-through relationship. | |
MorphMany | morphMany(string $related, string $name, string $type = null, string $id = null, string $localKey = null) Define a polymorphic one-to-many relationship. | |
BelongsToMany | belongsToMany(string $related, string $table = null, string $foreignKey = null, string $otherKey = null, string $relation = null) Define a many-to-many relationship. | |
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. | |
MorphToMany | morphedByMany(string $related, string $name, string $table = null, string $foreignKey = null, string $otherKey = null) Define a polymorphic, inverse many-to-many relationship. | |
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. | |
bool|null | forceDelete() Force a hard delete on a soft deleted model. | |
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. | |
array | getObservableEvents() Get the observable event names. | |
$this | setObservableEvents(array $observables) Set the observable event names. | |
void | addObservableEvents(array|mixed $observables) Add an observable event name. | |
void | removeObservableEvents(array|mixed $observables) Remove an observable event name. | |
bool | update(array $attributes = array(), array $options = 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. | |
bool | saveOrFail(array $options = array()) Save the model to the database using transaction. | |
void | touchOwners() Touch the owning relations of the model. | |
bool | touches(string $relation) Determine if the model touches a given relation. | |
bool | touch() Update the model's update timestamp. | |
$this | setCreatedAt(mixed $value) Set the value of the "created at" attribute. | |
$this | 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. | |
Builder | newQuery() Get a new query builder for the model's table. | |
Builder | newQueryWithoutScope(Scope|string $scope) Get a new query instance without a given scope. | |
Builder|Model | newQueryWithoutScopes() Get a new query builder that doesn't have any global scopes. | |
Builder|Model | newEloquentBuilder(Builder $query) Create a new Eloquent query builder for the model. | |
Collection | newCollection(array $models = array()) Create a new Eloquent Collection instance. | |
Pivot | newPivot(Model $parent, array $attributes, string $table, bool $exists) Create a new pivot model instance. | |
string | getTable() Get the table associated with the model. | |
$this | 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. | |
$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. | |
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. | |
string | getMorphClass() Get the class name for polymorphic relations. | |
int | getPerPage() Get the number of models to return per page. | |
$this | 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. | |
$this | setHidden(array $hidden) Set the hidden attributes for the model. | |
void | addHidden(array|string|null $attributes = null) Add hidden attributes for the model. | |
$this | makeVisible(array|string $attributes) Make the given, typically hidden, attributes visible. | |
$this | makeHidden(array|string $attributes) Make the given, typically visible, attributes hidden. | |
array | getVisible() Get the visible attributes for the model. | |
$this | setVisible(array $visible) Set the visible attributes for the model. | |
void | addVisible(array|string|null $attributes = null) Add visible attributes for the model. | |
$this | 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(bool $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. | |
array | getTouchedRelations() Get the relationships that are touched on save. | |
$this | setTouchedRelations(array $touches) Set the relationships that are touched on save. | |
bool | getIncrementing() Get the value indicating whether the IDs are incrementing. | |
$this | 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 | relationsToArray() Get the model's relationships in array form. | |
mixed | getAttribute(string $key) Get an attribute from the model. | |
mixed | getAttributeValue(string $key) Get a plain attribute (not a relationship). | |
mixed | getRelationValue(string $key) Get a relationship. | |
bool | hasGetMutator(string $key) Determine if a get mutator exists for an attribute. | |
bool | hasCast(string $key, array|string|null $types = null) Determine whether an attribute should be cast to a native type. | |
array | getCasts() Get the casts array. | |
$this | setAttribute(string $key, mixed $value) Set a given attribute on the model. | |
$this | fillJsonAttribute(string $key, mixed $value) Set a given JSON 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. | |
$this | setDateFormat(string $format) Set the date format used by the model. | |
mixed | fromJson(string $value, bool $asObject = false) Decode the given JSON back into an array or object. | |
Model | replicate(array $except = null) Clone the model into a new, non-existing instance. | |
bool | is(Model $model) Determine if two models have the same ID and belong to the same table. | |
array | getAttributes() Get all of the current attributes on the model. | |
$this | setRawAttributes(array $attributes, bool $sync = false) Set the array of model attributes. No checking is done. | |
mixed|array | getOriginal(string|null $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. | |
bool | isClean(array|string|null $attributes = null) Determine if the model or given attribute(s) have remained the same. | |
array | getDirty() Get the attributes that have been changed since last sync. | |
array | getRelations() Get all the loaded relations for the instance. | |
mixed | getRelation(string $relation) Get a specified relationship. | |
bool | relationLoaded(string $key) Determine if the given relation is loaded. | |
$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. | |
Connection | 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|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. | |
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 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. |
Create a new Eloquent model instance.
Clear the list of booted models so they will be re-booted.
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.
Register an observer with the Model.
Fill the model with an array of attributes.
Fill the model with an array of attributes. Force mass assignment.
Create a new instance of the given model.
Create a new model instance that is existing.
Create a collection of models from plain arrays.
Create a collection of models from a raw query.
Save a new model and return the instance.
Save a new model and return the instance. Allow mass-assignment.
Begin querying the model.
Begin querying the model on a given connection.
Begin querying the model on the write connection.
Get all of the models from the database.
Reload a fresh model instance from the database.
Eager load relations on the model.
Append attributes to query when building a query.
Define a one-to-one relationship.
Define a polymorphic one-to-one relationship.
Define an inverse one-to-one or many relationship.
Define a polymorphic, inverse one-to-one or many relationship.
Retrieve the fully qualified class name from a slug.
Define a one-to-many relationship.
Define a has-many-through relationship.
Define a polymorphic one-to-many relationship.
Define a many-to-many relationship.
Define a polymorphic many-to-many relationship.
Define a polymorphic, inverse many-to-many relationship.
Get the joining table name for a many-to-many relation.
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.
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 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 observable event names.
Set the observable event names.
Add an observable event name.
Remove an observable event name.
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.
Touch the owning relations of the model.
Determine if the model touches a given relation.
Update the model's update timestamp.
Set the value of the "created at" attribute.
Set the value of the "updated at" attribute.
Get the name of the "created at" column.
Get the name of the "updated at" column.
Get a fresh timestamp for the model.
Get a fresh timestamp for the model.
Get a new query builder for the model's table.
Create a new Eloquent Collection instance.
Create a new pivot model instance.
Get the table associated with the model.
Set the table associated with the model.
Get the value of the model's primary key.
Get the queueable identity for the entity.
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.
Get the value of the model's route key.
Get the route key for the model.
Determine if the model uses timestamps.
Get the class name for polymorphic relations.
Get the number of models to return per page.
Set the number of models to return per page.
Get the default foreign key name for the model.
Get the hidden attributes for the model.
Set the hidden attributes for the model.
Add hidden attributes for the model.
Make the given, typically hidden, attributes visible.
Make the given, typically visible, attributes hidden.
Get the visible attributes for the model.
Set the visible attributes for the model.
Add visible attributes for the model.
Set the accessors to append to model arrays.
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 relationships that are touched on save.
Set the relationships that are touched on save.
Get the value indicating whether the IDs are incrementing.
Set whether IDs are incrementing.
Convert the model instance to JSON.
Convert the object into something JSON serializable.
Convert the model instance to an array.
Convert the model's attributes to an array.
Get the model's relationships in array form.
Get an attribute from the model.
Get a plain attribute (not a relationship).
Get a relationship.
Determine if a get mutator exists for an attribute.
Determine whether an attribute should be cast to a native type.
Get the casts array.
Set a given attribute on the model.
Set a given JSON attribute on the model.
Determine if a set mutator exists for an attribute.
Get the attributes that should be converted to dates.
Convert a DateTime to a storable string.
Set the date format used by the model.
Decode the given JSON back into an array or object.
Clone the model into a new, non-existing instance.
Determine if two models have the same ID and belong to the same table.
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.
Sync the original attributes with the current.
Sync a single original attribute with its current value.
Determine if the model or given attribute(s) have been modified.
Determine if the model or given attribute(s) have remained the same.
Get the attributes that have been changed since last sync.
Get all the loaded relations for the instance.
Get a specified relationship.
Determine if the given relation is loaded.
Set the specific relationship in the model.
Set the entire relations array on the model.
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 event dispatcher instance.
Set the event dispatcher instance.
Unset the event dispatcher for models.
Get the mutated attributes for a given instance.
Extract and cache all the mutated attributes of a class.
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.3/Illuminate/Database/Eloquent/Model.html