name: Model
class_comment: null
dependencies:
- name: ArrayAccess
  type: class
  source: ArrayAccess
- name: HasBroadcastChannel
  type: class
  source: Illuminate\Contracts\Broadcasting\HasBroadcastChannel
- name: QueueableCollection
  type: class
  source: Illuminate\Contracts\Queue\QueueableCollection
- name: QueueableEntity
  type: class
  source: Illuminate\Contracts\Queue\QueueableEntity
- name: UrlRoutable
  type: class
  source: Illuminate\Contracts\Routing\UrlRoutable
- name: Arrayable
  type: class
  source: Illuminate\Contracts\Support\Arrayable
- name: CanBeEscapedWhenCastToString
  type: class
  source: Illuminate\Contracts\Support\CanBeEscapedWhenCastToString
- name: Jsonable
  type: class
  source: Illuminate\Contracts\Support\Jsonable
- name: Resolver
  type: class
  source: Illuminate\Database\ConnectionResolverInterface
- name: EloquentCollection
  type: class
  source: Illuminate\Database\Eloquent\Collection
- name: BelongsToMany
  type: class
  source: Illuminate\Database\Eloquent\Relations\BelongsToMany
- name: AsPivot
  type: class
  source: Illuminate\Database\Eloquent\Relations\Concerns\AsPivot
- name: HasManyThrough
  type: class
  source: Illuminate\Database\Eloquent\Relations\HasManyThrough
- name: Pivot
  type: class
  source: Illuminate\Database\Eloquent\Relations\Pivot
- name: Arr
  type: class
  source: Illuminate\Support\Arr
- name: BaseCollection
  type: class
  source: Illuminate\Support\Collection
- name: Str
  type: class
  source: Illuminate\Support\Str
- name: ForwardsCalls
  type: class
  source: Illuminate\Support\Traits\ForwardsCalls
- name: JsonSerializable
  type: class
  source: JsonSerializable
- name: LogicException
  type: class
  source: LogicException
- name: Stringable
  type: class
  source: Stringable
properties:
- name: connection
  visibility: protected
  comment: '# * The connection name for the model.

    # *

    # * @var string|null'
- name: table
  visibility: protected
  comment: '# * The table associated with the model.

    # *

    # * @var string'
- name: primaryKey
  visibility: protected
  comment: '# * The primary key for the model.

    # *

    # * @var string'
- name: keyType
  visibility: protected
  comment: '# * The "type" of the primary key ID.

    # *

    # * @var string'
- name: incrementing
  visibility: public
  comment: '# * Indicates if the IDs are auto-incrementing.

    # *

    # * @var bool'
- name: with
  visibility: protected
  comment: '# * The relations to eager load on every query.

    # *

    # * @var array'
- name: withCount
  visibility: protected
  comment: '# * The relationship counts that should be eager loaded on every query.

    # *

    # * @var array'
- name: preventsLazyLoading
  visibility: public
  comment: '# * Indicates whether lazy loading will be prevented on this model.

    # *

    # * @var bool'
- name: perPage
  visibility: protected
  comment: '# * The number of models to return for pagination.

    # *

    # * @var int'
- name: exists
  visibility: public
  comment: '# * Indicates if the model exists.

    # *

    # * @var bool'
- name: wasRecentlyCreated
  visibility: public
  comment: '# * Indicates if the model was inserted during the object''s lifecycle.

    # *

    # * @var bool'
- name: escapeWhenCastingToString
  visibility: protected
  comment: '# * Indicates that the object''s string representation should be escaped
    when __toString is invoked.

    # *

    # * @var bool'
- name: resolver
  visibility: protected
  comment: '# * The connection resolver instance.

    # *

    # * @var \Illuminate\Database\ConnectionResolverInterface'
- name: dispatcher
  visibility: protected
  comment: '# * The event dispatcher instance.

    # *

    # * @var \Illuminate\Contracts\Events\Dispatcher'
- name: booted
  visibility: protected
  comment: '# * The array of booted models.

    # *

    # * @var array'
- name: traitInitializers
  visibility: protected
  comment: '# * The array of trait initializers that will be called on each new instance.

    # *

    # * @var array'
- name: globalScopes
  visibility: protected
  comment: '# * The array of global scopes on the model.

    # *

    # * @var array'
- name: ignoreOnTouch
  visibility: protected
  comment: '# * The list of models classes that should not be affected with touch.

    # *

    # * @var array'
- name: modelsShouldPreventLazyLoading
  visibility: protected
  comment: '# * Indicates whether lazy loading should be restricted on all models.

    # *

    # * @var bool'
- name: lazyLoadingViolationCallback
  visibility: protected
  comment: '# * The callback that is responsible for handling lazy loading violations.

    # *

    # * @var callable|null'
- name: modelsShouldPreventSilentlyDiscardingAttributes
  visibility: protected
  comment: '# * Indicates if an exception should be thrown instead of silently discarding
    non-fillable attributes.

    # *

    # * @var bool'
- name: discardedAttributeViolationCallback
  visibility: protected
  comment: '# * The callback that is responsible for handling discarded attribute
    violations.

    # *

    # * @var callable|null'
- name: modelsShouldPreventAccessingMissingAttributes
  visibility: protected
  comment: '# * Indicates if an exception should be thrown when trying to access a
    missing attribute on a retrieved model.

    # *

    # * @var bool'
- name: missingAttributeViolationCallback
  visibility: protected
  comment: '# * The callback that is responsible for handling missing attribute violations.

    # *

    # * @var callable|null'
- name: isBroadcasting
  visibility: protected
  comment: '# * Indicates if broadcasting is currently enabled.

    # *

    # * @var bool'
methods:
- name: __construct
  visibility: public
  parameters:
  - name: attributes
    default: '[]'
  comment: "# * The connection name for the model.\n# *\n# * @var string|null\n# */\n\
    # protected $connection;\n# \n# /**\n# * The table associated with the model.\n\
    # *\n# * @var string\n# */\n# protected $table;\n# \n# /**\n# * The primary key\
    \ for the model.\n# *\n# * @var string\n# */\n# protected $primaryKey = 'id';\n\
    # \n# /**\n# * The \"type\" of the primary key ID.\n# *\n# * @var string\n# */\n\
    # protected $keyType = 'int';\n# \n# /**\n# * Indicates if the IDs are auto-incrementing.\n\
    # *\n# * @var bool\n# */\n# public $incrementing = true;\n# \n# /**\n# * The relations\
    \ to eager load on every query.\n# *\n# * @var array\n# */\n# protected $with\
    \ = [];\n# \n# /**\n# * The relationship counts that should be eager loaded on\
    \ every query.\n# *\n# * @var array\n# */\n# protected $withCount = [];\n# \n\
    # /**\n# * Indicates whether lazy loading will be prevented on this model.\n#\
    \ *\n# * @var bool\n# */\n# public $preventsLazyLoading = false;\n# \n# /**\n\
    # * The number of models to return for pagination.\n# *\n# * @var int\n# */\n\
    # protected $perPage = 15;\n# \n# /**\n# * Indicates if the model exists.\n# *\n\
    # * @var bool\n# */\n# public $exists = false;\n# \n# /**\n# * Indicates if the\
    \ model was inserted during the object's lifecycle.\n# *\n# * @var bool\n# */\n\
    # public $wasRecentlyCreated = false;\n# \n# /**\n# * Indicates that the object's\
    \ string representation should be escaped when __toString is invoked.\n# *\n#\
    \ * @var bool\n# */\n# protected $escapeWhenCastingToString = false;\n# \n# /**\n\
    # * The connection resolver instance.\n# *\n# * @var \\Illuminate\\Database\\\
    ConnectionResolverInterface\n# */\n# protected static $resolver;\n# \n# /**\n\
    # * The event dispatcher instance.\n# *\n# * @var \\Illuminate\\Contracts\\Events\\\
    Dispatcher\n# */\n# protected static $dispatcher;\n# \n# /**\n# * The array of\
    \ booted models.\n# *\n# * @var array\n# */\n# protected static $booted = [];\n\
    # \n# /**\n# * The array of trait initializers that will be called on each new\
    \ instance.\n# *\n# * @var array\n# */\n# protected static $traitInitializers\
    \ = [];\n# \n# /**\n# * The array of global scopes on the model.\n# *\n# * @var\
    \ array\n# */\n# protected static $globalScopes = [];\n# \n# /**\n# * The list\
    \ of models classes that should not be affected with touch.\n# *\n# * @var array\n\
    # */\n# protected static $ignoreOnTouch = [];\n# \n# /**\n# * Indicates whether\
    \ lazy loading should be restricted on all models.\n# *\n# * @var bool\n# */\n\
    # protected static $modelsShouldPreventLazyLoading = false;\n# \n# /**\n# * The\
    \ callback that is responsible for handling lazy loading violations.\n# *\n# *\
    \ @var callable|null\n# */\n# protected static $lazyLoadingViolationCallback;\n\
    # \n# /**\n# * Indicates if an exception should be thrown instead of silently\
    \ discarding non-fillable attributes.\n# *\n# * @var bool\n# */\n# protected static\
    \ $modelsShouldPreventSilentlyDiscardingAttributes = false;\n# \n# /**\n# * The\
    \ callback that is responsible for handling discarded attribute violations.\n\
    # *\n# * @var callable|null\n# */\n# protected static $discardedAttributeViolationCallback;\n\
    # \n# /**\n# * Indicates if an exception should be thrown when trying to access\
    \ a missing attribute on a retrieved model.\n# *\n# * @var bool\n# */\n# protected\
    \ static $modelsShouldPreventAccessingMissingAttributes = false;\n# \n# /**\n\
    # * The callback that is responsible for handling missing attribute violations.\n\
    # *\n# * @var callable|null\n# */\n# protected static $missingAttributeViolationCallback;\n\
    # \n# /**\n# * Indicates if broadcasting is currently enabled.\n# *\n# * @var\
    \ bool\n# */\n# protected static $isBroadcasting = true;\n# \n# /**\n# * The Eloquent\
    \ query builder class to use for the model.\n# *\n# * @var class-string<\\Illuminate\\\
    Database\\Eloquent\\Builder<*>>\n# */\n# protected static string $builder = Builder::class;\n\
    # \n# /**\n# * The name of the \"created at\" column.\n# *\n# * @var string|null\n\
    # */\n# const CREATED_AT = 'created_at';\n# \n# /**\n# * The name of the \"updated\
    \ at\" column.\n# *\n# * @var string|null\n# */\n# const UPDATED_AT = 'updated_at';\n\
    # \n# /**\n# * Create a new Eloquent model instance.\n# *\n# * @param  array \
    \ $attributes\n# * @return void"
- name: bootIfNotBooted
  visibility: protected
  parameters: []
  comment: '# * Check if the model needs to be booted and if so, do it.

    # *

    # * @return void'
- name: booting
  visibility: protected
  parameters: []
  comment: '# * Perform any actions required before the model boots.

    # *

    # * @return void'
- name: boot
  visibility: protected
  parameters: []
  comment: '# * Bootstrap the model and its traits.

    # *

    # * @return void'
- name: bootTraits
  visibility: protected
  parameters: []
  comment: '# * Boot all of the bootable traits on the model.

    # *

    # * @return void'
- name: initializeTraits
  visibility: protected
  parameters: []
  comment: '# * Initialize any initializable traits on the model.

    # *

    # * @return void'
- name: booted
  visibility: protected
  parameters: []
  comment: '# * Perform any actions required after the model boots.

    # *

    # * @return void'
- name: clearBootedModels
  visibility: public
  parameters: []
  comment: '# * Clear the list of booted models so they will be re-booted.

    # *

    # * @return void'
- name: withoutTouching
  visibility: public
  parameters:
  - name: callback
  comment: '# * Disables relationship model touching for the current class during
    given callback scope.

    # *

    # * @param  callable  $callback

    # * @return void'
- name: withoutTouchingOn
  visibility: public
  parameters:
  - name: models
  - name: callback
  comment: '# * Disables relationship model touching for the given model classes during
    given callback scope.

    # *

    # * @param  array  $models

    # * @param  callable  $callback

    # * @return void'
- name: isIgnoringTouch
  visibility: public
  parameters:
  - name: class
    default: 'null'
  comment: '# * Determine if the given model is ignoring touches.

    # *

    # * @param  string|null  $class

    # * @return bool'
- name: shouldBeStrict
  visibility: public
  parameters:
  - name: shouldBeStrict
    default: 'true'
  comment: '# * Indicate that models should prevent lazy loading, silently discarding
    attributes, and accessing missing attributes.

    # *

    # * @param  bool  $shouldBeStrict

    # * @return void'
- name: preventLazyLoading
  visibility: public
  parameters:
  - name: value
    default: 'true'
  comment: '# * Prevent model relationships from being lazy loaded.

    # *

    # * @param  bool  $value

    # * @return void'
- name: handleLazyLoadingViolationUsing
  visibility: public
  parameters:
  - name: callback
  comment: '# * Register a callback that is responsible for handling lazy loading
    violations.

    # *

    # * @param  callable|null  $callback

    # * @return void'
- name: preventSilentlyDiscardingAttributes
  visibility: public
  parameters:
  - name: value
    default: 'true'
  comment: '# * Prevent non-fillable attributes from being silently discarded.

    # *

    # * @param  bool  $value

    # * @return void'
- name: handleDiscardedAttributeViolationUsing
  visibility: public
  parameters:
  - name: callback
  comment: '# * Register a callback that is responsible for handling discarded attribute
    violations.

    # *

    # * @param  callable|null  $callback

    # * @return void'
- name: preventAccessingMissingAttributes
  visibility: public
  parameters:
  - name: value
    default: 'true'
  comment: '# * Prevent accessing missing attributes on retrieved models.

    # *

    # * @param  bool  $value

    # * @return void'
- name: handleMissingAttributeViolationUsing
  visibility: public
  parameters:
  - name: callback
  comment: '# * Register a callback that is responsible for handling missing attribute
    violations.

    # *

    # * @param  callable|null  $callback

    # * @return void'
- name: withoutBroadcasting
  visibility: public
  parameters:
  - name: callback
  comment: '# * Execute a callback without broadcasting any model events for all model
    types.

    # *

    # * @param  callable  $callback

    # * @return mixed'
- name: fill
  visibility: public
  parameters:
  - name: attributes
  comment: '# * Fill the model with an array of attributes.

    # *

    # * @param  array  $attributes

    # * @return $this

    # *

    # * @throws \Illuminate\Database\Eloquent\MassAssignmentException'
- name: forceFill
  visibility: public
  parameters:
  - name: attributes
  comment: '# * Fill the model with an array of attributes. Force mass assignment.

    # *

    # * @param  array  $attributes

    # * @return $this'
- name: qualifyColumn
  visibility: public
  parameters:
  - name: column
  comment: '# * Qualify the given column name by the model''s table.

    # *

    # * @param  string  $column

    # * @return string'
- name: qualifyColumns
  visibility: public
  parameters:
  - name: columns
  comment: '# * Qualify the given columns with the model''s table.

    # *

    # * @param  array  $columns

    # * @return array'
- name: newInstance
  visibility: public
  parameters:
  - name: attributes
    default: '[]'
  - name: exists
    default: 'false'
  comment: '# * Create a new instance of the given model.

    # *

    # * @param  array  $attributes

    # * @param  bool  $exists

    # * @return static'
- name: newFromBuilder
  visibility: public
  parameters:
  - name: attributes
    default: '[]'
  - name: connection
    default: 'null'
  comment: '# * Create a new model instance that is existing.

    # *

    # * @param  array  $attributes

    # * @param  string|null  $connection

    # * @return static'
- name: 'on'
  visibility: public
  parameters:
  - name: connection
    default: 'null'
  comment: '# * Begin querying the model on a given connection.

    # *

    # * @param  string|null  $connection

    # * @return \Illuminate\Database\Eloquent\Builder<static>'
- name: onWriteConnection
  visibility: public
  parameters: []
  comment: '# * Begin querying the model on the write connection.

    # *

    # * @return \Illuminate\Database\Eloquent\Builder<static>'
- name: all
  visibility: public
  parameters:
  - name: columns
    default: '[''*'']'
  comment: '# * Get all of the models from the database.

    # *

    # * @param  array|string  $columns

    # * @return \Illuminate\Database\Eloquent\Collection<int, static>'
- name: with
  visibility: public
  parameters:
  - name: relations
  comment: '# * Begin querying a model with eager loading.

    # *

    # * @param  array|string  $relations

    # * @return \Illuminate\Database\Eloquent\Builder<static>'
- name: load
  visibility: public
  parameters:
  - name: relations
  comment: '# * Eager load relations on the model.

    # *

    # * @param  array|string  $relations

    # * @return $this'
- name: loadMorph
  visibility: public
  parameters:
  - name: relation
  - name: relations
  comment: '# * Eager load relationships on the polymorphic relation of a model.

    # *

    # * @param  string  $relation

    # * @param  array  $relations

    # * @return $this'
- name: loadMissing
  visibility: public
  parameters:
  - name: relations
  comment: '# * Eager load relations on the model if they are not already eager loaded.

    # *

    # * @param  array|string  $relations

    # * @return $this'
- name: loadAggregate
  visibility: public
  parameters:
  - name: relations
  - name: column
  - name: function
    default: 'null'
  comment: '# * Eager load relation''s column aggregations on the model.

    # *

    # * @param  array|string  $relations

    # * @param  string  $column

    # * @param  string|null  $function

    # * @return $this'
- name: loadCount
  visibility: public
  parameters:
  - name: relations
  comment: '# * Eager load relation counts on the model.

    # *

    # * @param  array|string  $relations

    # * @return $this'
- name: loadMax
  visibility: public
  parameters:
  - name: relations
  - name: column
  comment: '# * Eager load relation max column values on the model.

    # *

    # * @param  array|string  $relations

    # * @param  string  $column

    # * @return $this'
- name: loadMin
  visibility: public
  parameters:
  - name: relations
  - name: column
  comment: '# * Eager load relation min column values on the model.

    # *

    # * @param  array|string  $relations

    # * @param  string  $column

    # * @return $this'
- name: loadSum
  visibility: public
  parameters:
  - name: relations
  - name: column
  comment: '# * Eager load relation''s column summations on the model.

    # *

    # * @param  array|string  $relations

    # * @param  string  $column

    # * @return $this'
- name: loadAvg
  visibility: public
  parameters:
  - name: relations
  - name: column
  comment: '# * Eager load relation average column values on the model.

    # *

    # * @param  array|string  $relations

    # * @param  string  $column

    # * @return $this'
- name: loadExists
  visibility: public
  parameters:
  - name: relations
  comment: '# * Eager load related model existence values on the model.

    # *

    # * @param  array|string  $relations

    # * @return $this'
- name: loadMorphAggregate
  visibility: public
  parameters:
  - name: relation
  - name: relations
  - name: column
  - name: function
    default: 'null'
  comment: '# * Eager load relationship column aggregation on the polymorphic relation
    of a model.

    # *

    # * @param  string  $relation

    # * @param  array  $relations

    # * @param  string  $column

    # * @param  string|null  $function

    # * @return $this'
- name: loadMorphCount
  visibility: public
  parameters:
  - name: relation
  - name: relations
  comment: '# * Eager load relationship counts on the polymorphic relation of a model.

    # *

    # * @param  string  $relation

    # * @param  array  $relations

    # * @return $this'
- name: loadMorphMax
  visibility: public
  parameters:
  - name: relation
  - name: relations
  - name: column
  comment: '# * Eager load relationship max column values on the polymorphic relation
    of a model.

    # *

    # * @param  string  $relation

    # * @param  array  $relations

    # * @param  string  $column

    # * @return $this'
- name: loadMorphMin
  visibility: public
  parameters:
  - name: relation
  - name: relations
  - name: column
  comment: '# * Eager load relationship min column values on the polymorphic relation
    of a model.

    # *

    # * @param  string  $relation

    # * @param  array  $relations

    # * @param  string  $column

    # * @return $this'
- name: loadMorphSum
  visibility: public
  parameters:
  - name: relation
  - name: relations
  - name: column
  comment: '# * Eager load relationship column summations on the polymorphic relation
    of a model.

    # *

    # * @param  string  $relation

    # * @param  array  $relations

    # * @param  string  $column

    # * @return $this'
- name: loadMorphAvg
  visibility: public
  parameters:
  - name: relation
  - name: relations
  - name: column
  comment: '# * Eager load relationship average column values on the polymorphic relation
    of a model.

    # *

    # * @param  string  $relation

    # * @param  array  $relations

    # * @param  string  $column

    # * @return $this'
- name: increment
  visibility: protected
  parameters:
  - name: column
  - name: amount
    default: '1'
  - name: extra
    default: '[]'
  comment: '# * Increment a column''s value by a given amount.

    # *

    # * @param  string  $column

    # * @param  float|int  $amount

    # * @param  array  $extra

    # * @return int'
- name: decrement
  visibility: protected
  parameters:
  - name: column
  - name: amount
    default: '1'
  - name: extra
    default: '[]'
  comment: '# * Decrement a column''s value by a given amount.

    # *

    # * @param  string  $column

    # * @param  float|int  $amount

    # * @param  array  $extra

    # * @return int'
- name: incrementOrDecrement
  visibility: protected
  parameters:
  - name: column
  - name: amount
  - name: extra
  - name: method
  comment: '# * Run the increment or decrement method on the model.

    # *

    # * @param  string  $column

    # * @param  float|int  $amount

    # * @param  array  $extra

    # * @param  string  $method

    # * @return int'
- name: update
  visibility: public
  parameters:
  - name: attributes
    default: '[]'
  - name: options
    default: '[]'
  comment: '# * Update the model in the database.

    # *

    # * @param  array  $attributes

    # * @param  array  $options

    # * @return bool'
- name: updateOrFail
  visibility: public
  parameters:
  - name: attributes
    default: '[]'
  - name: options
    default: '[]'
  comment: '# * Update the model in the database within a transaction.

    # *

    # * @param  array  $attributes

    # * @param  array  $options

    # * @return bool

    # *

    # * @throws \Throwable'
- name: updateQuietly
  visibility: public
  parameters:
  - name: attributes
    default: '[]'
  - name: options
    default: '[]'
  comment: '# * Update the model in the database without raising any events.

    # *

    # * @param  array  $attributes

    # * @param  array  $options

    # * @return bool'
- name: incrementQuietly
  visibility: protected
  parameters:
  - name: column
  - name: amount
    default: '1'
  - name: extra
    default: '[]'
  comment: '# * Increment a column''s value by a given amount without raising any
    events.

    # *

    # * @param  string  $column

    # * @param  float|int  $amount

    # * @param  array  $extra

    # * @return int'
- name: decrementQuietly
  visibility: protected
  parameters:
  - name: column
  - name: amount
    default: '1'
  - name: extra
    default: '[]'
  comment: '# * Decrement a column''s value by a given amount without raising any
    events.

    # *

    # * @param  string  $column

    # * @param  float|int  $amount

    # * @param  array  $extra

    # * @return int'
- name: push
  visibility: public
  parameters: []
  comment: '# * Save the model and all of its relationships.

    # *

    # * @return bool'
- name: pushQuietly
  visibility: public
  parameters: []
  comment: '# * Save the model and all of its relationships without raising any events
    to the parent model.

    # *

    # * @return bool'
- name: saveQuietly
  visibility: public
  parameters:
  - name: options
    default: '[]'
  comment: '# * Save the model to the database without raising any events.

    # *

    # * @param  array  $options

    # * @return bool'
- name: save
  visibility: public
  parameters:
  - name: options
    default: '[]'
  comment: '# * Save the model to the database.

    # *

    # * @param  array  $options

    # * @return bool'
- name: saveOrFail
  visibility: public
  parameters:
  - name: options
    default: '[]'
  comment: '# * Save the model to the database within a transaction.

    # *

    # * @param  array  $options

    # * @return bool

    # *

    # * @throws \Throwable'
- name: finishSave
  visibility: protected
  parameters:
  - name: options
  comment: '# * Perform any actions that are necessary after the model is saved.

    # *

    # * @param  array  $options

    # * @return void'
- name: performUpdate
  visibility: protected
  parameters:
  - name: query
  comment: '# * Perform a model update operation.

    # *

    # * @param  \Illuminate\Database\Eloquent\Builder<static>  $query

    # * @return bool'
- name: setKeysForSelectQuery
  visibility: protected
  parameters:
  - name: query
  comment: '# * Set the keys for a select query.

    # *

    # * @param  \Illuminate\Database\Eloquent\Builder<static>  $query

    # * @return \Illuminate\Database\Eloquent\Builder<static>'
- name: getKeyForSelectQuery
  visibility: protected
  parameters: []
  comment: '# * Get the primary key value for a select query.

    # *

    # * @return mixed'
- name: setKeysForSaveQuery
  visibility: protected
  parameters:
  - name: query
  comment: '# * Set the keys for a save update query.

    # *

    # * @param  \Illuminate\Database\Eloquent\Builder<static>  $query

    # * @return \Illuminate\Database\Eloquent\Builder<static>'
- name: getKeyForSaveQuery
  visibility: protected
  parameters: []
  comment: '# * Get the primary key value for a save query.

    # *

    # * @return mixed'
- name: performInsert
  visibility: protected
  parameters:
  - name: query
  comment: '# * Perform a model insert operation.

    # *

    # * @param  \Illuminate\Database\Eloquent\Builder<static>  $query

    # * @return bool'
- name: insertAndSetId
  visibility: protected
  parameters:
  - name: query
  - name: attributes
  comment: '# * Insert the given attributes and set the ID on the model.

    # *

    # * @param  \Illuminate\Database\Eloquent\Builder<static>  $query

    # * @param  array  $attributes

    # * @return void'
- name: destroy
  visibility: public
  parameters:
  - name: ids
  comment: '# * Destroy the models for the given IDs.

    # *

    # * @param  \Illuminate\Support\Collection|array|int|string  $ids

    # * @return int'
- name: delete
  visibility: public
  parameters: []
  comment: '# * Delete the model from the database.

    # *

    # * @return bool|null

    # *

    # * @throws \LogicException'
- name: deleteQuietly
  visibility: public
  parameters: []
  comment: '# * Delete the model from the database without raising any events.

    # *

    # * @return bool'
- name: deleteOrFail
  visibility: public
  parameters: []
  comment: '# * Delete the model from the database within a transaction.

    # *

    # * @return bool|null

    # *

    # * @throws \Throwable'
- name: forceDelete
  visibility: public
  parameters: []
  comment: '# * Force a hard delete on a soft deleted model.

    # *

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

    # *

    # * @return bool|null'
- name: performDeleteOnModel
  visibility: protected
  parameters: []
  comment: '# * Perform the actual delete query on this model instance.

    # *

    # * @return void'
- name: query
  visibility: public
  parameters: []
  comment: '# * Begin querying the model.

    # *

    # * @return \Illuminate\Database\Eloquent\Builder<static>'
- name: newQuery
  visibility: public
  parameters: []
  comment: '# * Get a new query builder for the model''s table.

    # *

    # * @return \Illuminate\Database\Eloquent\Builder<static>'
- name: newModelQuery
  visibility: public
  parameters: []
  comment: '# * Get a new query builder that doesn''t have any global scopes or eager
    loading.

    # *

    # * @return \Illuminate\Database\Eloquent\Builder<static>'
- name: newQueryWithoutRelationships
  visibility: public
  parameters: []
  comment: '# * Get a new query builder with no relationships loaded.

    # *

    # * @return \Illuminate\Database\Eloquent\Builder<static>'
- name: registerGlobalScopes
  visibility: public
  parameters:
  - name: builder
  comment: '# * Register the global scopes for this builder instance.

    # *

    # * @param  \Illuminate\Database\Eloquent\Builder<static>  $builder

    # * @return \Illuminate\Database\Eloquent\Builder<static>'
- name: newQueryWithoutScopes
  visibility: public
  parameters: []
  comment: '# * Get a new query builder that doesn''t have any global scopes.

    # *

    # * @return \Illuminate\Database\Eloquent\Builder<static>'
- name: newQueryWithoutScope
  visibility: public
  parameters:
  - name: scope
  comment: '# * Get a new query instance without a given scope.

    # *

    # * @param  \Illuminate\Database\Eloquent\Scope|string  $scope

    # * @return \Illuminate\Database\Eloquent\Builder<static>'
- name: newQueryForRestoration
  visibility: public
  parameters:
  - name: ids
  comment: '# * Get a new query to restore one or more models by their queueable IDs.

    # *

    # * @param  array|int  $ids

    # * @return \Illuminate\Database\Eloquent\Builder<static>'
- name: newEloquentBuilder
  visibility: public
  parameters:
  - name: query
  comment: '# * Create a new Eloquent query builder for the model.

    # *

    # * @param  \Illuminate\Database\Query\Builder  $query

    # * @return \Illuminate\Database\Eloquent\Builder<*>'
- name: newBaseQueryBuilder
  visibility: protected
  parameters: []
  comment: '# * Get a new query builder instance for the connection.

    # *

    # * @return \Illuminate\Database\Query\Builder'
- name: newCollection
  visibility: public
  parameters:
  - name: models
    default: '[]'
  comment: '# * Create a new Eloquent Collection instance.

    # *

    # * @template TKey of array-key

    # * @template TModel of \Illuminate\Database\Eloquent\Model

    # *

    # * @param  array<TKey, TModel>  $models

    # * @return \Illuminate\Database\Eloquent\Collection<TKey, TModel>'
- name: newPivot
  visibility: public
  parameters:
  - name: parent
  - name: attributes
  - name: table
  - name: exists
  - name: using
    default: 'null'
  comment: '# * Create a new pivot model instance.

    # *

    # * @param  \Illuminate\Database\Eloquent\Model  $parent

    # * @param  array  $attributes

    # * @param  string  $table

    # * @param  bool  $exists

    # * @param  string|null  $using

    # * @return \Illuminate\Database\Eloquent\Relations\Pivot'
- name: hasNamedScope
  visibility: public
  parameters:
  - name: scope
  comment: '# * Determine if the model has a given scope.

    # *

    # * @param  string  $scope

    # * @return bool'
- name: callNamedScope
  visibility: public
  parameters:
  - name: scope
  - name: parameters
    default: '[]'
  comment: '# * Apply the given named scope if possible.

    # *

    # * @param  string  $scope

    # * @param  array  $parameters

    # * @return mixed'
- name: toArray
  visibility: public
  parameters: []
  comment: '# * Convert the model instance to an array.

    # *

    # * @return array'
- name: toJson
  visibility: public
  parameters:
  - name: options
    default: '0'
  comment: '# * Convert the model instance to JSON.

    # *

    # * @param  int  $options

    # * @return string

    # *

    # * @throws \Illuminate\Database\Eloquent\JsonEncodingException'
- name: jsonSerialize
  visibility: public
  parameters: []
  comment: '# * Convert the object into something JSON serializable.

    # *

    # * @return mixed'
- name: fresh
  visibility: public
  parameters:
  - name: with
    default: '[]'
  comment: '# * Reload a fresh model instance from the database.

    # *

    # * @param  array|string  $with

    # * @return static|null'
- name: refresh
  visibility: public
  parameters: []
  comment: '# * Reload the current model instance with fresh attributes from the database.

    # *

    # * @return $this'
- name: replicate
  visibility: public
  parameters:
  - name: except
    default: 'null'
  comment: '# * Clone the model into a new, non-existing instance.

    # *

    # * @param  array|null  $except

    # * @return static'
- name: replicateQuietly
  visibility: public
  parameters:
  - name: except
    default: 'null'
  comment: '# * Clone the model into a new, non-existing instance without raising
    any events.

    # *

    # * @param  array|null  $except

    # * @return static'
- name: is
  visibility: public
  parameters:
  - name: model
  comment: '# * Determine if two models have the same ID and belong to the same table.

    # *

    # * @param  \Illuminate\Database\Eloquent\Model|null  $model

    # * @return bool'
- name: isNot
  visibility: public
  parameters:
  - name: model
  comment: '# * Determine if two models are not the same.

    # *

    # * @param  \Illuminate\Database\Eloquent\Model|null  $model

    # * @return bool'
- name: getConnection
  visibility: public
  parameters: []
  comment: '# * Get the database connection for the model.

    # *

    # * @return \Illuminate\Database\Connection'
- name: getConnectionName
  visibility: public
  parameters: []
  comment: '# * Get the current connection name for the model.

    # *

    # * @return string|null'
- name: setConnection
  visibility: public
  parameters:
  - name: name
  comment: '# * Set the connection associated with the model.

    # *

    # * @param  string|null  $name

    # * @return $this'
- name: resolveConnection
  visibility: public
  parameters:
  - name: connection
    default: 'null'
  comment: '# * Resolve a connection instance.

    # *

    # * @param  string|null  $connection

    # * @return \Illuminate\Database\Connection'
- name: getConnectionResolver
  visibility: public
  parameters: []
  comment: '# * Get the connection resolver instance.

    # *

    # * @return \Illuminate\Database\ConnectionResolverInterface|null'
- name: setConnectionResolver
  visibility: public
  parameters:
  - name: resolver
  comment: '# * Set the connection resolver instance.

    # *

    # * @param  \Illuminate\Database\ConnectionResolverInterface  $resolver

    # * @return void'
- name: unsetConnectionResolver
  visibility: public
  parameters: []
  comment: '# * Unset the connection resolver for models.

    # *

    # * @return void'
- name: getTable
  visibility: public
  parameters: []
  comment: '# * Get the table associated with the model.

    # *

    # * @return string'
- name: setTable
  visibility: public
  parameters:
  - name: table
  comment: '# * Set the table associated with the model.

    # *

    # * @param  string  $table

    # * @return $this'
- name: getKeyName
  visibility: public
  parameters: []
  comment: '# * Get the primary key for the model.

    # *

    # * @return string'
- name: setKeyName
  visibility: public
  parameters:
  - name: key
  comment: '# * Set the primary key for the model.

    # *

    # * @param  string  $key

    # * @return $this'
- name: getQualifiedKeyName
  visibility: public
  parameters: []
  comment: '# * Get the table qualified key name.

    # *

    # * @return string'
- name: getKeyType
  visibility: public
  parameters: []
  comment: '# * Get the auto-incrementing key type.

    # *

    # * @return string'
- name: setKeyType
  visibility: public
  parameters:
  - name: type
  comment: '# * Set the data type for the primary key.

    # *

    # * @param  string  $type

    # * @return $this'
- name: getIncrementing
  visibility: public
  parameters: []
  comment: '# * Get the value indicating whether the IDs are incrementing.

    # *

    # * @return bool'
- name: setIncrementing
  visibility: public
  parameters:
  - name: value
  comment: '# * Set whether IDs are incrementing.

    # *

    # * @param  bool  $value

    # * @return $this'
- name: getKey
  visibility: public
  parameters: []
  comment: '# * Get the value of the model''s primary key.

    # *

    # * @return mixed'
- name: getQueueableId
  visibility: public
  parameters: []
  comment: '# * Get the queueable identity for the entity.

    # *

    # * @return mixed'
- name: getQueueableRelations
  visibility: public
  parameters: []
  comment: '# * Get the queueable relationships for the entity.

    # *

    # * @return array'
- name: getQueueableConnection
  visibility: public
  parameters: []
  comment: '# * Get the queueable connection for the entity.

    # *

    # * @return string|null'
- name: getRouteKey
  visibility: public
  parameters: []
  comment: '# * Get the value of the model''s route key.

    # *

    # * @return mixed'
- name: getRouteKeyName
  visibility: public
  parameters: []
  comment: '# * Get the route key for the model.

    # *

    # * @return string'
- name: resolveRouteBinding
  visibility: public
  parameters:
  - name: value
  - name: field
    default: 'null'
  comment: '# * Retrieve the model for a bound value.

    # *

    # * @param  mixed  $value

    # * @param  string|null  $field

    # * @return \Illuminate\Database\Eloquent\Model|null'
- name: resolveSoftDeletableRouteBinding
  visibility: public
  parameters:
  - name: value
  - name: field
    default: 'null'
  comment: '# * Retrieve the model for a bound value.

    # *

    # * @param  mixed  $value

    # * @param  string|null  $field

    # * @return \Illuminate\Database\Eloquent\Model|null'
- name: resolveChildRouteBinding
  visibility: public
  parameters:
  - name: childType
  - name: value
  - name: field
  comment: '# * Retrieve the child model for a bound value.

    # *

    # * @param  string  $childType

    # * @param  mixed  $value

    # * @param  string|null  $field

    # * @return \Illuminate\Database\Eloquent\Model|null'
- name: resolveSoftDeletableChildRouteBinding
  visibility: public
  parameters:
  - name: childType
  - name: value
  - name: field
  comment: '# * Retrieve the child model for a bound value.

    # *

    # * @param  string  $childType

    # * @param  mixed  $value

    # * @param  string|null  $field

    # * @return \Illuminate\Database\Eloquent\Model|null'
- name: resolveChildRouteBindingQuery
  visibility: protected
  parameters:
  - name: childType
  - name: value
  - name: field
  comment: '# * Retrieve the child model query for a bound value.

    # *

    # * @param  string  $childType

    # * @param  mixed  $value

    # * @param  string|null  $field

    # * @return \Illuminate\Database\Eloquent\Relations\Relation<\Illuminate\Database\Eloquent\Model,
    $this, *>'
- name: childRouteBindingRelationshipName
  visibility: protected
  parameters:
  - name: childType
  comment: '# * Retrieve the child route model binding relationship name for the given
    child type.

    # *

    # * @param  string  $childType

    # * @return string'
- name: resolveRouteBindingQuery
  visibility: public
  parameters:
  - name: query
  - name: value
  - name: field
    default: 'null'
  comment: '# * Retrieve the model for a bound value.

    # *

    # * @param  \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\Relation  $query

    # * @param  mixed  $value

    # * @param  string|null  $field

    # * @return \Illuminate\Contracts\Database\Eloquent\Builder'
- name: getForeignKey
  visibility: public
  parameters: []
  comment: '# * Get the default foreign key name for the model.

    # *

    # * @return string'
- name: getPerPage
  visibility: public
  parameters: []
  comment: '# * Get the number of models to return per page.

    # *

    # * @return int'
- name: setPerPage
  visibility: public
  parameters:
  - name: perPage
  comment: '# * Set the number of models to return per page.

    # *

    # * @param  int  $perPage

    # * @return $this'
- name: preventsLazyLoading
  visibility: public
  parameters: []
  comment: '# * Determine if lazy loading is disabled.

    # *

    # * @return bool'
- name: preventsSilentlyDiscardingAttributes
  visibility: public
  parameters: []
  comment: '# * Determine if discarding guarded attribute fills is disabled.

    # *

    # * @return bool'
- name: preventsAccessingMissingAttributes
  visibility: public
  parameters: []
  comment: '# * Determine if accessing missing attributes is disabled.

    # *

    # * @return bool'
- name: broadcastChannelRoute
  visibility: public
  parameters: []
  comment: '# * Get the broadcast channel route definition that is associated with
    the given entity.

    # *

    # * @return string'
- name: broadcastChannel
  visibility: public
  parameters: []
  comment: '# * Get the broadcast channel name that is associated with the given entity.

    # *

    # * @return string'
- name: __get
  visibility: public
  parameters:
  - name: key
  comment: '# * Dynamically retrieve attributes on the model.

    # *

    # * @param  string  $key

    # * @return mixed'
- name: __set
  visibility: public
  parameters:
  - name: key
  - name: value
  comment: '# * Dynamically set attributes on the model.

    # *

    # * @param  string  $key

    # * @param  mixed  $value

    # * @return void'
- name: offsetExists
  visibility: public
  parameters:
  - name: offset
  comment: '# * Determine if the given attribute exists.

    # *

    # * @param  mixed  $offset

    # * @return bool'
- name: offsetGet
  visibility: public
  parameters:
  - name: offset
  comment: '# * Get the value for a given offset.

    # *

    # * @param  mixed  $offset

    # * @return mixed'
- name: offsetSet
  visibility: public
  parameters:
  - name: offset
  - name: value
  comment: '# * Set the value for a given offset.

    # *

    # * @param  mixed  $offset

    # * @param  mixed  $value

    # * @return void'
- name: offsetUnset
  visibility: public
  parameters:
  - name: offset
  comment: '# * Unset the value for a given offset.

    # *

    # * @param  mixed  $offset

    # * @return void'
- name: __isset
  visibility: public
  parameters:
  - name: key
  comment: '# * Determine if an attribute or relation exists on the model.

    # *

    # * @param  string  $key

    # * @return bool'
- name: __unset
  visibility: public
  parameters:
  - name: key
  comment: '# * Unset an attribute on the model.

    # *

    # * @param  string  $key

    # * @return void'
- name: __call
  visibility: public
  parameters:
  - name: method
  - name: parameters
  comment: '# * Handle dynamic method calls into the model.

    # *

    # * @param  string  $method

    # * @param  array  $parameters

    # * @return mixed'
- name: __callStatic
  visibility: public
  parameters:
  - name: method
  - name: parameters
  comment: '# * Handle dynamic static method calls into the model.

    # *

    # * @param  string  $method

    # * @param  array  $parameters

    # * @return mixed'
- name: __toString
  visibility: public
  parameters: []
  comment: '# * Convert the model to its string representation.

    # *

    # * @return string'
- name: escapeWhenCastingToString
  visibility: public
  parameters:
  - name: escape
    default: 'true'
  comment: '# * Indicate that the object''s string representation should be escaped
    when __toString is invoked.

    # *

    # * @param  bool  $escape

    # * @return $this'
- name: __sleep
  visibility: public
  parameters: []
  comment: '# * Prepare the object for serialization.

    # *

    # * @return array'
- name: __wakeup
  visibility: public
  parameters: []
  comment: '# * When a model is being unserialized, check if it needs to be booted.

    # *

    # * @return void'
traits:
- ArrayAccess
- Illuminate\Contracts\Broadcasting\HasBroadcastChannel
- Illuminate\Contracts\Queue\QueueableCollection
- Illuminate\Contracts\Queue\QueueableEntity
- Illuminate\Contracts\Routing\UrlRoutable
- Illuminate\Contracts\Support\Arrayable
- Illuminate\Contracts\Support\CanBeEscapedWhenCastToString
- Illuminate\Contracts\Support\Jsonable
- Illuminate\Database\Eloquent\Relations\BelongsToMany
- Illuminate\Database\Eloquent\Relations\Concerns\AsPivot
- Illuminate\Database\Eloquent\Relations\HasManyThrough
- Illuminate\Database\Eloquent\Relations\Pivot
- Illuminate\Support\Arr
- Illuminate\Support\Str
- Illuminate\Support\Traits\ForwardsCalls
- JsonSerializable
- LogicException
- Stringable
- Concerns\HasAttributes
interfaces:
- Arrayable