Pivot
class Pivot extends Model (View source)
Traits
Constants
| CREATED_AT | 
                     The name of the "created at" column.  | 
            
| UPDATED_AT | 
                     The name of the "updated at" column.  | 
            
Properties
| 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.  | 
                from HasAttributes | 
| protected array | $classCastCache | The attributes that have been cast using custom classes.  | 
                from HasAttributes | 
| static protected array | $primitiveCastTypes | The built-in, primitive cast types supported by Eloquent.  | 
                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 | 
| static protected array | $relationResolvers | The relation resolver callbacks.  | 
                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.  | 
                |
| static protected bool | $unguarded | Indicates if all mass assignment is enabled.  | 
                from GuardsAttributes | 
| static protected array | $guardableColumns | The actual columns that exist on the database and can be guarded.  | 
                from GuardsAttributes | 
| protected string|null | $connection | The connection name for the model.  | 
                from Model | 
| protected string | $table | The table associated with the model.  | 
                from Model | 
| protected string | $primaryKey | The primary key for the model.  | 
                from Model | 
| protected string | $keyType | The "type" of the primary key ID.  | 
                from Model | 
| bool | $incrementing | Indicates if the IDs are auto-incrementing.  | 
                |
| protected array | $with | The relations to eager load on every query.  | 
                from Model | 
| protected array | $withCount | The relationship counts that should be eager loaded on every query.  | 
                from Model | 
| protected int | $perPage | The number of models to return for pagination.  | 
                from Model | 
| bool | $exists | Indicates if the model exists.  | 
                from Model | 
| bool | $wasRecentlyCreated | Indicates if the model was inserted during the current request lifecycle.  | 
                from Model | 
| static protected ConnectionResolverInterface | $resolver | The connection resolver instance.  | 
                from Model | 
| static protected Dispatcher | $dispatcher | The event dispatcher instance.  | 
                from Model | 
| static protected array | $booted | The array of booted models.  | 
                from Model | 
| static protected array | $traitInitializers | The array of trait initializers that will be called on each new instance.  | 
                from Model | 
| static protected array | $globalScopes | The array of global scopes on the model.  | 
                from Model | 
| static protected array | $ignoreOnTouch | The list of models classes that should not be affected with touch.  | 
                from Model | 
| Model | $pivotParent | The parent model of the relationship.  | 
                from AsPivot | 
| protected string | $foreignKey | The name of the foreign key column.  | 
                from AsPivot | 
| protected string | $relatedKey | The name of the "other key" column.  | 
                from AsPivot | 
Methods
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 an attribute array of all arrayable values.
Get an attribute from the $attributes array.
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.
Cast the given attribute using a custom cast class.
Determine if the cast type is a custom date time 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.
Set the value of a class castable attribute.
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.
Decode the given JSON back into an array or object.
Return a timestamp as DateTime object with time set to 00:00:00.
Determine if the given value is a standard date format.
Determine whether an attribute should be cast to a native type.
Determine whether a value is Date / DateTime castable for inbound manipulation.
Determine whether a value is JSON castable for inbound manipulation.
Determine if the given key is cast using a custom class.
Resolve the custom caster class for a given key.
Parse the given caster class, removing any arguments.
Merge the cast class attributes back into the model.
Normalize the response from a custom class caster.
Set the array of model attributes. No checking is done.
Get the model's original attribute values.
Get the model's original attribute values.
Get the model's raw original attribute values.
Sync a single original attribute with its current value.
Sync multiple original attribute with their current values.
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.
Determine if the new and old values for a given key are equivalent.
Transform a raw model value using mutators, casts, etc.
Append attributes to query when building a query.
Return whether the accessor attribute has been appended.
Extract and cache all the mutated attributes of a class.
Get all of the attribute mutator methods.
Register a single observer with the model.
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.
Execute a callback without firing any model events for any model type.
Register a new global scope on the model.
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.
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.
Get the polymorphic relationship columns.
Create a new model instance for a related model.
Set the given relationship on the model.
Set the entire relations array on the model.
Duplicate the instance and unset all the loaded relations.
Set the relationships that are touched on save.
Get the fully qualified "created at" column.
Get the fully qualified "updated at" column.
Make the given, typically hidden, attributes visible.
Make the given, typically hidden, attributes visible if the given truth test passes.
Make the given, typically visible, attributes hidden.
Make the given, typically visible, attributes hidden if the given truth test passes.
Merge new fillable attributes with existing fillable attributes on the model.
Merge new guarded attributes with existing guarded attributes on the model.
Disable all mass assignable restrictions.
Run the given callable while being unguarded.
Determine if the given attribute may be mass assigned.
Determine if the given column is a valid, guardable column.
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.
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. Force mass assignment.
Create a new instance of the given model.
Create a new model instance that is existing.
Begin querying the model on a given connection.
Get all of the models from the database.
Eager load relationships on the polymorphic relation of a model.
Eager load relations on the model if they are not already eager loaded.
Eager load relationship counts on the polymorphic relation of a 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.
Perform any actions that are necessary after the model is saved.
Insert the given attributes and set the ID on the model.
Get a new query builder that doesn't have any global scopes or eager loading.
Get a new query builder with no relationships loaded.
Get a new query builder that doesn't have any global scopes.
Get a new query to restore one or more models by their queueable IDs.
Create a new pivot model instance.
Apply the given named scope if possible.
Reload a fresh model instance from the database.
Reload the current model instance with fresh attributes from the database.
Resolve a connection instance.
Get the connection resolver instance.
Retrieve the model for a bound value.
Retrieve the child model for a bound value.
Handle dynamic method calls into the model.
Handle dynamic static method calls into the model.
Create a new pivot model instance.
Create a new pivot model from raw values returned from a query.
Set the key names for the pivot model instance.
Determine if the pivot model or given attributes has timestamp attributes.
Get a new query to restore multiple models by their queueable IDs.
Details
        
                            array
    attributesToArray()
        
    
    Convert the model's attributes to an array.
        
                    protected        array
    addDateAttributesToArray(array $attributes)
        
    
    Add the date attributes to the attributes array.
        
                    protected        array
    addMutatedAttributesToArray(array $attributes, array $mutatedAttributes)
        
    
    Add the mutated attributes to the attributes array.
        
                    protected        array
    addCastAttributesToArray(array $attributes, array $mutatedAttributes)
        
    
    Add the casted attributes to the attributes array.
        
                    protected        array
    getArrayableAttributes()
        
    
    Get an attribute array of all arrayable attributes.
        
                    protected        array
    getArrayableAppends()
        
    
    Get all of the appendable values that are arrayable.
        
                            array
    relationsToArray()
        
    
    Get the model's relationships in array form.
        
                    protected        array
    getArrayableRelations()
        
    
    Get an attribute array of all arrayable relations.
        
                    protected        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).
        
                    protected        mixed
    getAttributeFromArray(string $key)
        
    
    Get an attribute from the $attributes array.
        
                            mixed
    getRelationValue(string $key)
        
    
    Get a relationship.
        
                    protected        mixed
    getRelationshipFromMethod(string $method)
        
    
    Get a relationship value from a method.
        
                            bool
    hasGetMutator(string $key)
        
    
    Determine if a get mutator exists for an attribute.
        
                    protected        mixed
    mutateAttribute(string $key, mixed $value)
        
    
    Get the value of an attribute using its mutator.
        
                    protected        mixed
    mutateAttributeForArray(string $key, mixed $value)
        
    
    Get the value of an attribute using its mutator for array conversion.
        
                            void
    mergeCasts(array $casts)
        
    
    Merge new casts with existing casts on the model.
        
                    protected        mixed
    castAttribute(string $key, mixed $value)
        
    
    Cast an attribute to a native PHP type.
        
                    protected        mixed
    getClassCastableAttributeValue(string $key, mixed $value)
        
    
    Cast the given attribute using a custom cast class.
        
                    protected        string
    getCastType(string $key)
        
    
    Get the type of cast for a model attribute.
        
                    protected        bool
    isCustomDateTimeCast(string $cast)
        
    
    Determine if the cast type is a custom date time cast.
        
                    protected        bool
    isDecimalCast(string $cast)
        
    
    Determine if the cast type is a decimal cast.
        
                            mixed
    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.
        
                    protected        mixed
    setMutatedAttributeValue(string $key, mixed $value)
        
    
    Set the value of an attribute using its mutator.
        
                    protected        bool
    isDateAttribute(string $key)
        
    
    Determine if the given attribute is a date or date castable.
        
                            $this
    fillJsonAttribute(string $key, mixed $value)
        
    
    Set a given JSON attribute on the model.
        
                    protected        void
    setClassCastableAttribute(string $key, mixed $value)
        
    
    Set the value of a class castable attribute.
        
                    protected        $this
    getArrayAttributeWithValue(string $path, string $key, mixed $value)
        
    
    Get an array attribute with the given key and value set.
        
                    protected        array
    getArrayAttributeByKey(string $key)
        
    
    Get an array attribute or return an empty array if it is not set.
        
                    protected        string
    castAttributeAsJson(string $key, mixed $value)
        
    
    Cast the given attribute to JSON.
        
                    protected        string
    asJson(mixed $value)
        
    
    Encode the given value as JSON.
        
                            mixed
    fromJson(string $value, bool $asObject = false)
        
    
    Decode the given JSON back into an array or object.
        
                            mixed
    fromFloat(mixed $value)
        
    
    Decode the given float.
        
                    protected        string
    asDecimal(float $value, int $decimals)
        
    
    Return a decimal as string.
        
                    protected        Carbon
    asDate(mixed $value)
        
    
    Return a timestamp as DateTime object with time set to 00:00:00.
        
                    protected        Carbon
    asDateTime(mixed $value)
        
    
    Return a timestamp as DateTime object.
        
                    protected        bool
    isStandardDateFormat(string $value)
        
    
    Determine if the given value is a standard date format.
        
                            string|null
    fromDateTime(mixed $value)
        
    
    Convert a DateTime to a storable string.
        
                    protected        int
    asTimestamp(mixed $value)
        
    
    Return a timestamp as unix timestamp.
        
                    protected        string
    serializeDate(DateTimeInterface $date)
        
    
    Prepare a date for array / JSON serialization.
        
                            array
    getDates()
        
    
    Get the attributes that should be converted to dates.
        
                            string
    getDateFormat()
        
    
    Get the format for database stored dates.
        
                            $this
    setDateFormat(string $format)
        
    
    Set the date format used by the model.
        
                            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.
        
                    protected        bool
    isDateCastable(string $key)
        
    
    Determine whether a value is Date / DateTime castable for inbound manipulation.
        
                    protected        bool
    isJsonCastable(string $key)
        
    
    Determine whether a value is JSON castable for inbound manipulation.
        
                    protected        bool
    isClassCastable(string $key)
        
    
    Determine if the given key is cast using a custom class.
        
                    protected        mixed
    resolveCasterClass(string $key)
        
    
    Resolve the custom caster class for a given key.
        
                    protected        string
    parseCasterClass(string $class)
        
    
    Parse the given caster class, removing any arguments.
        
                    protected        void
    mergeAttributesFromClassCasts()
        
    
    Merge the cast class attributes back into the model.
        
                    protected        array
    normalizeCastClassResponse(string $key, mixed $value)
        
    
    Normalize the response from a custom class caster.
        
                            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.
        
                    protected        mixed|array
    getOriginalWithoutRewindingModel(string|null $key = null, mixed $default = null)
        
    
    Get the model's original attribute values.
        
                            mixed|array
    getRawOriginal(string|null $key = null, mixed $default = null)
        
    
    Get the model's raw original attribute values.
        
                            array
    only(array|mixed $attributes)
        
    
    Get a subset of the model's attributes.
        
                            $this
    syncOriginal()
        
    
    Sync the original attributes with the current.
        
                            $this
    syncOriginalAttribute(string $attribute)
        
    
    Sync a single original attribute with its current value.
        
                            $this
    syncOriginalAttributes(array|string $attributes)
        
    
    Sync multiple original attribute with their current values.
        
                            $this
    syncChanges()
        
    
    Sync the changed attributes.
        
                            bool
    isDirty(array|string|null $attributes = null)
        
    
    Determine if the model or any of the given attribute(s) have been modified.
        
                            bool
    isClean(array|string|null $attributes = null)
        
    
    Determine if the model and all the given attribute(s) have remained the same.
        
                            bool
    wasChanged(array|string|null $attributes = null)
        
    
    Determine if the model or any of the given attribute(s) have been modified.
        
                    protected        bool
    hasChanges(array $changes, array|string|null $attributes = null)
        
    
    Determine if any of the given attributes were changed.
        
                            array
    getDirty()
        
    
    Get the attributes that have been changed since last sync.
        
                            array
    getChanges()
        
    
    Get the attributes that were changed.
        
                            bool
    originalIsEquivalent(string $key)
        
    
    Determine if the new and old values for a given key are equivalent.
        
                    protected        mixed
    transformModelValue(string $key, mixed $value)
        
    
    Transform a raw model value using mutators, casts, etc.
        
                            $this
    append(array|string $attributes)
        
    
    Append attributes to query when building a query.
        
                            $this
    setAppends(array $appends)
        
    
    Set the accessors to append to model arrays.
        
                            bool
    hasAppended(string $attribute)
        
    
    Return whether the accessor attribute has been appended.
        
                            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.
        
                static    protected        array
    getMutatorMethods(mixed $class)
        
    
    Get all of the attribute mutator methods.
        
                static            void
    observe(object|array|string $classes)
        
    
    Register observers with the model.
        
                    protected        void
    registerObserver(object|string $class)
        
    
    Register a single observer with 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.
        
                static    protected        void
    registerModelEvent(string $event, Closure|string $callback)
        
    
    Register a model event with the dispatcher.
        
                    protected        mixed
    fireModelEvent(string $event, bool $halt = true)
        
    
    Fire the given event for the model.
        
                    protected        mixed|null
    fireCustomModelEvent(string $event, string $method)
        
    
    Fire a custom model event for the given event.
        
                    protected        mixed
    filterModelEventResults(mixed $result)
        
    
    Filter the model event results.
        
                static            void
    retrieved(Closure|string $callback)
        
    
    Register a retrieved model event with the dispatcher.
        
                static            void
    saving(Closure|string $callback)
        
    
    Register a saving model event with the dispatcher.
        
                static            void
    saved(Closure|string $callback)
        
    
    Register a saved model event with the dispatcher.
        
                static            void
    updating(Closure|string $callback)
        
    
    Register an updating model event with the dispatcher.
        
                static            void
    updated(Closure|string $callback)
        
    
    Register an updated model event with the dispatcher.
        
                static            void
    creating(Closure|string $callback)
        
    
    Register a creating model event with the dispatcher.
        
                static            void
    created(Closure|string $callback)
        
    
    Register a created model event with the dispatcher.
        
                static            void
    replicating(Closure|string $callback)
        
    
    Register a replicating model event with the dispatcher.
        
                static            void
    deleting(Closure|string $callback)
        
    
    Register a deleting model event with the dispatcher.
        
                static            void
    deleted(Closure|string $callback)
        
    
    Register a deleted model event with the dispatcher.
        
                static            void
    flushEventListeners()
        
    
    Remove all of the event listeners for the model.
        
                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.
        
                static            mixed
    withoutEvents(callable $callback)
        
    
    Execute a callback without firing any model events for any model type.
        
                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
    resolveRelationUsing(string $name, Closure $callback)
        
    
    Define a dynamic relation resolver.
        
                            HasOne
    hasOne(string $related, string|null $foreignKey = null, string|null $localKey = null)
        
    
    Define a one-to-one relationship.
        
                    protected        HasOne
    newHasOne(Builder $query, Model $parent, string $foreignKey, string $localKey)
        
    
    Instantiate a new HasOne relationship.
        
                            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.
        
                    protected        HasOneThrough
    newHasOneThrough(Builder $query, Model $farParent, Model $throughParent, string $firstKey, string $secondKey, string $localKey, string $secondLocalKey)
        
    
    Instantiate a new HasOneThrough relationship.
        
                            MorphOne
    morphOne(string $related, string $name, string|null $type = null, string|null $id = null, string|null $localKey = null)
        
    
    Define a polymorphic one-to-one relationship.
        
                    protected        MorphOne
    newMorphOne(Builder $query, Model $parent, string $type, string $id, string $localKey)
        
    
    Instantiate a new MorphOne relationship.
        
                            BelongsTo
    belongsTo(string $related, string|null $foreignKey = null, string|null $ownerKey = null, string|null $relation = null)
        
    
    Define an inverse one-to-one or many relationship.
        
                    protected        BelongsTo
    newBelongsTo(Builder $query, Model $child, string $foreignKey, string $ownerKey, string $relation)
        
    
    Instantiate a new BelongsTo relationship.
        
                            MorphTo
    morphTo(string|null $name = null, string|null $type = null, string|null $id = null, string|null $ownerKey = null)
        
    
    Define a polymorphic, inverse one-to-one or many relationship.
        
                    protected        MorphTo
    morphEagerTo(string $name, string $type, string $id, string $ownerKey)
        
    
    Define a polymorphic, inverse one-to-one or many relationship.
        
                    protected        MorphTo
    morphInstanceTo(string $target, string $name, string $type, string $id, string $ownerKey)
        
    
    Define a polymorphic, inverse one-to-one or many relationship.
        
                    protected        MorphTo
    newMorphTo(Builder $query, Model $parent, string $foreignKey, string $ownerKey, string $type, string $relation)
        
    
    Instantiate a new MorphTo relationship.
        
                static            string
    getActualClassNameForMorph(string $class)
        
    
    Retrieve the actual class name for a given morph class.
        
                    protected        string
    guessBelongsToRelation()
        
    
    Guess the "belongs to" relationship name.
        
                            HasMany
    hasMany(string $related, string|null $foreignKey = null, string|null $localKey = null)
        
    
    Define a one-to-many relationship.
        
                    protected        HasMany
    newHasMany(Builder $query, Model $parent, string $foreignKey, string $localKey)
        
    
    Instantiate a new HasMany relationship.
        
                            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.
        
                    protected        HasManyThrough
    newHasManyThrough(Builder $query, Model $farParent, Model $throughParent, string $firstKey, string $secondKey, string $localKey, string $secondLocalKey)
        
    
    Instantiate a new HasManyThrough relationship.
        
                            MorphMany
    morphMany(string $related, string $name, string|null $type = null, string|null $id = null, string|null $localKey = null)
        
    
    Define a polymorphic one-to-many relationship.
        
                    protected        MorphMany
    newMorphMany(Builder $query, Model $parent, string $type, string $id, string $localKey)
        
    
    Instantiate a new MorphMany relationship.
        
                            BelongsToMany
    belongsToMany(string $related, string|null $table = null, string|null $foreignPivotKey = null, string|null $relatedPivotKey = null, string|null $parentKey = null, string|null $relatedKey = null, string|null $relation = null)
        
    
    Define a many-to-many relationship.
        
                    protected        BelongsToMany
    newBelongsToMany(Builder $query, Model $parent, string $table, string $foreignPivotKey, string $relatedPivotKey, string $parentKey, string $relatedKey, string|null $relationName = null)
        
    
    Instantiate a new BelongsToMany relationship.
        
                            MorphToMany
    morphToMany(string $related, string $name, string|null $table = null, string|null $foreignPivotKey = null, string|null $relatedPivotKey = null, string|null $parentKey = null, string|null $relatedKey = null, bool $inverse = false)
        
    
    Define a polymorphic many-to-many relationship.
        
                    protected        MorphToMany
    newMorphToMany(Builder $query, Model $parent, string $name, string $table, string $foreignPivotKey, string $relatedPivotKey, string $parentKey, string $relatedKey, string|null $relationName = null, bool $inverse = false)
        
    
    Instantiate a new MorphToMany relationship.
        
                            MorphToMany
    morphedByMany(string $related, string $name, string|null $table = null, string|null $foreignPivotKey = null, string|null $relatedPivotKey = null, string|null $parentKey = null, string|null $relatedKey = null)
        
    
    Define a polymorphic, inverse many-to-many relationship.
        
                    protected        string|null
    guessBelongsToManyRelation()
        
    
    Get the relationship name of the belongsToMany relationship.
        
                            string
    joiningTable(string $related, Model|null $instance = null)
        
    
    Get the joining table name for a many-to-many relation.
        
                            string
    joiningTableSegment()
        
    
    Get this model's half of the intermediate table name for belongsToMany relationships.
        
                            bool
    touches(string $relation)
        
    
    Determine if the model touches a given relation.
        
                            void
    touchOwners()
        
    
    Touch the owning relations of the model.
        
                    protected        array
    getMorphs(string $name, string $type, string $id)
        
    
    Get the polymorphic relationship columns.
        
                            string
    getMorphClass()
        
    
    Get the class name for polymorphic relations.
        
                    protected        mixed
    newRelatedInstance(string $class)
        
    
    Create a new model instance for a related model.
        
                            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 given relationship on the model.
        
                            $this
    unsetRelation(string $relation)
        
    
    Unset a loaded relationship.
        
                            $this
    setRelations(array $relations)
        
    
    Set the entire relations array on the model.
        
                            $this
    withoutRelations()
        
    
    Duplicate the instance and unset all the loaded relations.
        
                            $this
    unsetRelations()
        
    
    Unset all the loaded relations for the instance.
        
                            array
    getTouchedRelations()
        
    
    Get the relationships that are touched on save.
        
                            $this
    setTouchedRelations(array $touches)
        
    
    Set the relationships that are touched on save.
        
                            bool
    touch()
        
    
    Update the model's update timestamp.
        
                    protected        void
    updateTimestamps()
        
    
    Update the creation and update timestamps.
        
                            $this
    setCreatedAt(mixed $value)
        
    
    Set the value of the "created at" attribute.
        
                            $this
    setUpdatedAt(mixed $value)
        
    
    Set the value of the "updated at" attribute.
        
                            Carbon
    freshTimestamp()
        
    
    Get a fresh timestamp for the model.
        
                            string
    freshTimestampString()
        
    
    Get a fresh timestamp for the model.
        
                            bool
    usesTimestamps()
        
    
    Determine if the model uses timestamps.
        
                            string|null
    getCreatedAtColumn()
        
    
    Get the name of the "created at" column.
        
                            string|null
    getUpdatedAtColumn()
        
    
    Get the name of the "updated at" column.
        
                            string
    getQualifiedCreatedAtColumn()
        
    
    Get the fully qualified "created at" column.
        
                            string
    getQualifiedUpdatedAtColumn()
        
    
    Get the fully qualified "updated at" column.
        
                            array
    getHidden()
        
    
    Get the hidden attributes for the model.
        
                            $this
    setHidden(array $hidden)
        
    
    Set the hidden attributes for the model.
        
                            array
    getVisible()
        
    
    Get the visible attributes for the model.
        
                            $this
    setVisible(array $visible)
        
    
    Set the visible attributes for the model.
        
                            $this
    makeVisible(array|string|null $attributes)
        
    
    Make the given, typically hidden, attributes visible.
        
                            $this
    makeVisibleIf(bool|Closure $condition, array|string|null $attributes)
        
    
    Make the given, typically hidden, attributes visible if the given truth test passes.
        
                            $this
    makeHidden(array|string|null $attributes)
        
    
    Make the given, typically visible, attributes hidden.
        
                            $this
    makeHiddenIf(bool|Closure $condition, array|string|null $attributes)
        
    
    Make the given, typically visible, attributes hidden if the given truth test passes.
        
                            array
    getFillable()
        
    
    Get the fillable attributes for the model.
        
                            $this
    fillable(array $fillable)
        
    
    Set the fillable attributes for the model.
        
                            $this
    mergeFillable(array $fillable)
        
    
    Merge new fillable attributes with existing fillable attributes on the model.
        
                            array
    getGuarded()
        
    
    Get the guarded attributes for the model.
        
                            $this
    guard(array $guarded)
        
    
    Set the guarded attributes for the model.
        
                            $this
    mergeGuarded(array $guarded)
        
    
    Merge new guarded attributes with existing guarded attributes on 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.
        
                    protected        bool
    isGuardableColumn(string $key)
        
    
    Determine if the given column is a valid, guardable column.
        
                            bool
    totallyGuarded()
        
    
    Determine if the model is totally guarded.
        
                    protected        array
    fillableFromArray(array $attributes)
        
    
    Get the fillable attributes of a given array.
        
                    protected        mixed
    forwardCallTo(mixed $object, string $method, array $parameters)
        
    
    Forward a method call to the given object.
        
                static    protected        void
    throwBadMethodCallException(string $method)
        
    
    Throw a bad method call exception for the given method.
        in 
Model at line 166
                            void
    __construct(array $attributes = [])
        
    
    Create a new Eloquent model instance.
        in 
Model at line 182
                    protected        void
    bootIfNotBooted()
        
    
    Check if the model needs to be booted and if so, do it.
        in 
Model at line 202
                static    protected        void
    booting()
        
    
    Perform any actions required before the model boots.
        in 
Model at line 212
                static    protected        void
    boot()
        
    
    Bootstrap the model and its traits.
        in 
Model at line 222
                static    protected        void
    bootTraits()
        
    
    Boot all of the bootable traits on the model.
        in 
Model at line 254
                    protected        void
    initializeTraits()
        
    
    Initialize any initializable traits on the model.
        in 
Model at line 266
                static    protected        void
    booted()
        
    
    Perform any actions required after the model boots.
        in 
Model at line 276
                static            void
    clearBootedModels()
        
    
    Clear the list of booted models so they will be re-booted.
        in 
Model at line 289
                static            void
    withoutTouching(callable $callback)
        
    
    Disables relationship model touching for the current class during given callback scope.
        in 
Model at line 301
                static            void
    withoutTouchingOn(array $models, callable $callback)
        
    
    Disables relationship model touching for the given model classes during given callback scope.
        in 
Model at line 318
                static            bool
    isIgnoringTouch(string|null $class = null)
        
    
    Determine if the given model is ignoring touches.
        in 
Model at line 343
                            $this
    fill(array $attributes)
        
    
    Fill the model with an array of attributes.
        in 
Model at line 372
                            $this
    forceFill(array $attributes)
        
    
    Fill the model with an array of attributes. Force mass assignment.
        in 
Model at line 385
                            string
    qualifyColumn(string $column)
        
    
    Qualify the given column name by the model's table.
        in 
Model at line 402
                    protected        string
    removeTableFromKey(string $key)
        deprecated
    
    deprecated
Remove the table name from a given key.
        in 
Model at line 414
                            Model
    newInstance(array $attributes = [], bool $exists = false)
        
    
    Create a new instance of the given model.
        in 
Model at line 441
                            Model
    newFromBuilder(array $attributes = [], string|null $connection = null)
        
    
    Create a new model instance that is existing.
        in 
Model at line 460
                static            Builder
    on(string|null $connection = null)
        
    
    Begin querying the model on a given connection.
        in 
Model at line 477
                static            Builder
    onWriteConnection()
        
    
    Begin querying the model on the write connection.
        in 
Model at line 488
                static            Collection|Model[]
    all(array|mixed $columns = ['*'])
        
    
    Get all of the models from the database.
        in 
Model at line 501
                static            Builder
    with(array|string $relations)
        
    
    Begin querying a model with eager loading.
        in 
Model at line 514
                            $this
    load(array|string $relations)
        
    
    Eager load relations on the model.
        in 
Model at line 532
                            $this
    loadMorph(string $relation, array $relations)
        
    
    Eager load relationships on the polymorphic relation of a model.
        in 
Model at line 547
                            $this
    loadMissing(array|string $relations)
        
    
    Eager load relations on the model if they are not already eager loaded.
        in 
Model at line 562
                            $this
    loadCount(array|string $relations)
        
    
    Eager load relation counts on the model.
        in 
Model at line 578
                            $this
    loadMorphCount(string $relation, array $relations)
        
    
    Eager load relationship counts on the polymorphic relation of a model.
        in 
Model at line 595
                    protected        int
    increment(string $column, float|int $amount = 1, array $extra = [])
        
    
    Increment a column's value by a given amount.
        in 
Model at line 608
                    protected        int
    decrement(string $column, float|int $amount = 1, array $extra = [])
        
    
    Decrement a column's value by a given amount.
        in 
Model at line 622
                    protected        int
    incrementOrDecrement(string $column, float|int $amount, array $extra, string $method)
        
    
    Run the increment or decrement method on the model.
        in 
Model at line 646
                    protected        void
    incrementOrDecrementAttributeValue(string $column, float|int $amount, array $extra, string $method)
        
    
    Increment the underlying attribute value and sync with original.
        in 
Model at line 662
                            bool
    update(array $attributes = [], array $options = [])
        
    
    Update the model in the database.
        in 
Model at line 676
                            bool
    push()
        
    
    Save the model and all of its relationships.
        in 
Model at line 705
                            bool
    save(array $options = [])
        
    
    Save the model to the database.
        in 
Model at line 756
                            bool
    saveOrFail(array $options = [])
        
    
    Save the model to the database using transaction.
        in 
Model at line 769
                    protected        void
    finishSave(array $options)
        
    
    Perform any actions that are necessary after the model is saved.
        in 
Model at line 786
                    protected        bool
    performUpdate(Builder $query)
        
    
    Perform a model update operation.
        in 
Model at line 836
                    protected        mixed
    getKeyForSaveQuery()
        
    
    Get the primary key value for a save query.
        in 
Model at line 848
                    protected        bool
    performInsert(Builder $query)
        
    
    Perform a model insert operation.
        in 
Model at line 900
                    protected        void
    insertAndSetId(Builder $query, array $attributes)
        
    
    Insert the given attributes and set the ID on the model.
        in 
Model at line 913
                static            int
    destroy(Collection|array|int|string $ids)
        
    
    Destroy the models for the given IDs.
        
                            int
    delete()
        
    
    Delete the pivot model record from the database.
        in 
Model at line 988
                            bool|null
    forceDelete()
        
    
    Force a hard delete on a soft deleted model.
This method protects developers from running forceDelete when trait is missing.
        in 
Model at line 998
                    protected        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
    newQueryForRestoration(int[]|string[]|string $ids)
        
    
    Get a new query to restore one or more models by their queueable IDs.
        
                    protected        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.
        
                            bool
    hasNamedScope(string $scope)
        
    
    Determine if the model has a given scope.
        
                            mixed
    callNamedScope(string $scope, array $parameters = [])
        
    
    Apply the given named scope if possible.
        
                            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, string|null $field = null)
        
    
    Retrieve the model for a bound value.
        
                            Model|null
    resolveChildRouteBinding(string $childType, mixed $value, string|null $field)
        
    
    Retrieve the child model for a bound value.
        
                            string
    getForeignKey()
        
    
    Get the foreign key column name.
        
                            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 model.
        
                            string
    __toString()
        
    
    Convert the model to its string representation.
        
                            array
    __sleep()
        
    
    Prepare the object for serialization.
        
                            void
    __wakeup()
        
    
    When a model is being unserialized, check if it needs to be booted.
        
                static            AsPivot
    fromAttributes(Model $parent, array $attributes, string $table, bool $exists = false)
        
    
    Create a new pivot model instance.
        
                static            AsPivot
    fromRawAttributes(Model $parent, array $attributes, string $table, bool $exists = false)
        
    
    Create a new pivot model from raw values returned from a query.
        
                    protected        Builder
    getDeleteQuery()
        
    
    Get the query builder for a delete operation on the pivot.
        
                            string
    getRelatedKey()
        
    
    Get the "related key" column name.
        
                            string
    getOtherKey()
        
    
    Get the "related key" column name.
        
                            $this
    setPivotKeys(string $foreignKey, string $relatedKey)
        
    
    Set the key names for the pivot model instance.
        
                            bool
    hasTimestampAttributes(array|null $attributes = null)
        
    
    Determine if the pivot model or given attributes has timestamp attributes.
        
                    protected        Builder
    newQueryForCollectionRestoration(array $ids)
        
    
    Get a new query to restore multiple models by their queueable IDs.