Model
abstract class Model extends QueryableModel
Traits
Constants
CREATED_AT |
The name of the "created at" column. |
UPDATED_AT |
The name of the "updated at" column. |
Properties
protected string | $defaultOrderByField | Determines the default field to order the query by | from Queryable |
protected string | $defaultSortDirection | Determines the default direction to order the query by | from Queryable |
protected string|null | $connection | The connection name for the model. | |
protected int | $perPage | The number of models to return for pagination. Also determines chunk size for LazyCollection | |
protected bool | $useChunking | Determines if QueryableModel::all() calls in queries should chunk the result. | from QueryableModel |
bool | $exists | Indicates if the model exists. | from QueryableModel |
bool | $wasRecentlyCreated | Indicates if the model was inserted during the current request lifecycle. | from QueryableModel |
static protected array | $traitInitializers | The array of trait initializers that will be called on each new instance. | from QueryableModel |
static protected array | $booted | The array of booted models. | from QueryableModel |
protected array | $attributes | The interal storage of the model data. | from QueryableModel |
protected string | $relation | The relation associated with the model. | |
protected int | $relationId | The directory_id associated with the model. | |
protected string | $primaryField | The primary field for the model. | from QueryableModel |
protected string | $keyType | The "type" of the primary key ID. | from QueryableModel |
protected string | $resolvableField | The resolvable field associated with the model. | |
bool | $incrementing | Indicates if the IDs are auto-incrementing. | from QueryableModel |
protected bool | $respectPublishingStatus | Indicates if we should respect the models publishing status when retrieving it. | |
protected bool | $autoPublishes | Indicates if we should automatically publish the model on save. | |
static protected Dispatcher | $dispatcher | The event dispatcher | from QueryableModel |
protected bool | $cachesResults | Determines if we should cache some results. | |
protected bool | $hidesDefaultFields | Indicates if the model should hide default fields | |
protected bool | $castsCustomFields | Indicates if the model should automatically resolve and cast the fields to the correct types | |
protected bool | $castIfAccessorExists | If an accessor method exists, determines if the cast or accessor should run. | |
protected bool | $applySEO | Indicates if we should automatically apply SEO tags when resolving model by URL | |
protected string[] | $defaultFields | Indicates which fields are considered default fields | |
bool | $timestamps | Indicates if the model should be timestamped. | |
protected array | $dates | The attributes that should be mutated to dates. | |
$hidden | The attributes that should be hidden for arrays. | ||
int | $id | ||
int | $directory_id | ||
string | $name | ||
string|null | $title | ||
string | $url | ||
int | $revision | ||
Carbon | $created | ||
Carbon | $updated | ||
bool | $published | ||
string|null | $author | ||
int | $userid | ||
bool | $use_time | ||
Carbon|null | $start | ||
Carbon|null | $stop | ||
array | $tags | ||
bool | $public | ||
mixed | $authgroups | ||
array | $variants |
Methods
Determine if this object respects publishing statuses when performing queries
Override the publishing status for the model
Perform an action and mutate the given key if $shouldCache is true
Cache the results with the given key if $shouldCache is true
Resolves an instance
Resolves an instance or throws an exception
Resolves multiple instances by their primary fields
Finds an instance by its primary field
Finds an instance by its primary field or throws an exception
Finds multiple instances by their primary fields
Set the connection associated with the model.
Retrieves a record by key
Inserts a new record, and returns its id
Updates a record
Deletes a record
Create a new model instance that is existing.
Create a new instance of the given model.
Retrieves the first matching model or creates it
Retrieves the first model, or creates a new instance if not found
Perform an action with temporary disabled respectPublishingStatus
Perform any actions that are necessary after the model is saved.
Destroys one or multiple instances by primary key
Perform the actual delete query on this model instance.
Clone the model into a new, non-existing instance.
Updates an exisisting model or creates it
Retrieve the model for a bound value.
Retrieve the child model for a bound value.
Get the value indicating whether the IDs are incrementing.
Clear the list of booted models so they will be re-booted.
Handle dynamic static method calls into the method.
When a model is being unserialized, check if it needs to be booted.
Shim to make model compatible with HasAttributes trait
Loads the given revision
No description
Register the model
Details
in
HasRelation at line 15
string
getRelation()
Gets the relation
in
HasRelation at line 26
int|null
getRelationId()
Gets the relation_id
in
HasRelation at line 39
protected string
getCacheIdentifier(mixed $identifier = null)
Creates a cacheKey
in
HasRelation at line 56
protected
getAllCacheIdentifier()
in
ModelMapper at line 12
protected Closure
getMapper()
in
Queryable at line 39
static protected Builder
makeQueryBuilder($appends = [])
in
Queryable at line 99
bool
respectPublishingStatus()
Determine if this object respects publishing statuses when performing queries
in
Queryable at line 111
static Builder
disregardingPublishingStatus(bool $disregarding = true)
Override the publishing status for the model
in
Queryable at line 125
static Builder
field(...$args)
Adds a field that should be retrieved
in
Queryable at line 138
static Builder
fields(...$args)
Sets which fields to retrieve (default: All fields)
in
Queryable at line 151
static Builder
limit(...$args)
Limits the results to $limit amount of hits
in
Queryable at line 166
static Builder
orderBy(...$args)
Sets the field which to order the results by
in
Queryable at line 179
static Builder
raw(...$args)
Performs a raw query, use carefully.
in
Queryable at line 192
static Builder
publishedAt(...$args)
Performs a 'publishedAt' query
in
Queryable at line 210
static Builder
where(...$args)
Performs a 'where' query
If a closure is passed as the only argument, a new query scope will be created. If $value is omitted, $operator is used as the $value, and the $operator will be set to '='.
in
Queryable at line 224
static Builder
whereIn(...$args)
Queries where field exists in the values
in
Queryable at line 242
static Builder
whereNot(...$args)
Performs a 'whereNot' query
If a closure is passed as the only argument, a new query scope will be created. If $value is omitted, $operator is used as the $value, and the $operator will be set to '='.
in
Queryable at line 257
static
whereBetween(...$args)
in
Queryable at line 272
static
whereNotBetween(...$args)
in
Queryable at line 287
static Paginator
paginate(...$args)
Creates a paginated result
in
Queryable at line 303
static mixed
maybeMutatesCache(string $key, bool $shouldCache, Closure $action)
Perform an action and mutate the given key if $shouldCache is true
in
Queryable at line 320
static Builder
maybeCacheResults(string $key, bool $shouldCache)
Cache the results with the given key if $shouldCache is true
in
Queryable at line 336
static Builder
cacheResults(string $key)
Cache the results with the given key
in
Queryable at line 349
static int
count(...$args)
Get the count of items matching the current query
in
Queryable at line 372
static Builder
query(string $query = '*')
in
Resolvable at line 20
protected
getPrimaryField()
in
Resolvable at line 26
protected
getResolvableField()
in
Resolvable at line 39
static protected mixed
resolvableContext(Closure $context)
Exectures the context if object can be resolved
in
Resolvable at line 55
static Resolvable|null
first()
Retrieves the first instance
in
Resolvable at line 71
static Resolvable
firstOrFail()
Retrieves the first instance or fails
in
Resolvable at line 90
static Resolvable|null
last()
Retrieves the latest instance
in
Resolvable at line 105
static Collection|LazyCollection
all()
Retrieves all instances
in
Resolvable at line 121
static
chunked($chunkSize = null)
in
Resolvable at line 147
static Resolvable|Collection|null
resolve(mixed $resolveBy, string|null $field = null)
Resolves an instance
in
Resolvable at line 168
static Resolvable|Collection
resolveOrFail(mixed $resolveBy)
Resolves an instance or throws an exception
in
Resolvable at line 185
static Collection
resolveMany(array $resolveBy)
Resolves multiple instances by their primary fields
in
Resolvable at line 198
static Resolvable|Collection|null
find(mixed|array|Collection $findBy)
Finds an instance by its primary field
in
Resolvable at line 225
static Resolvable|Collection
findOrFail(mixed|array $findBy)
Finds an instance by its primary field or throws an exception
in
Resolvable at line 245
static Collection
findMany(array $findBy)
Finds multiple instances by their primary fields
in
QueryableModel at line 188
__construct(array $attributes = [], bool $boot = true)
in
QueryableModel at line 205
APIClient
getConnection()
Get the api connection for the model.
in
QueryableModel at line 215
string|null
getConnectionName()
Get the current connection name for the model.
in
QueryableModel at line 226
$this
setConnection(string|null $name)
Set the connection associated with the model.
at line 202
protected array|null
performRetrieveRequest(int|null $relationId = null, mixed $key)
Retrieves a record by key
at line 215
protected mixed
performInsertRequest(int|null $relationId = null, array $attributes = [])
Inserts a new record, and returns its id
at line 231
protected void
performUpdateRequest(int|null $relationId = null, mixed $key, array $attributes = [])
Updates a record
at line 244
protected bool
performDeleteRequest(int|null $relationId = null, mixed $key)
Deletes a record
in
QueryableModel at line 287
QueryableModel|null
fresh()
Reload a fresh model instance from the database.
in
QueryableModel at line 313
QueryableModel
newFromBuilder(array $attributes = [])
Create a new model instance that is existing.
in
QueryableModel at line 330
static QueryableModel
create(array $attributes = [])
Saves a new model
in
QueryableModel at line 346
QueryableModel
newInstance(array $attributes = [], bool $exists = false)
Create a new instance of the given model.
in
QueryableModel at line 359
array
getTagsAttribute(string|null $tags = null)
in
QueryableModel at line 368
void
setTagsAttribute(array $tags = [])
in
QueryableModel at line 380
static QueryableModel
firstOrCreate(array $query, array $with = [])
Retrieves the first matching model or creates it
in
QueryableModel at line 405
static QueryableModel
firstOrNew(array $attributes = [])
Retrieves the first model, or creates a new instance if not found
in
QueryableModel at line 419
protected bool
performUpdate()
Perform a model update operation.
in
QueryableModel at line 458
protected mixed
withIgnoredPublishingStatus(callable $callback)
Perform an action with temporary disabled respectPublishingStatus
in
QueryableModel at line 473
protected bool
performInsert()
Perform a model insert operation.
in
QueryableModel at line 509
$this
syncOriginal()
Sync the original attributes with the current.
in
QueryableModel at line 522
protected void
finishSave()
Perform any actions that are necessary after the model is saved.
in
QueryableModel at line 534
bool
save()
Updates or stores the model
in
QueryableModel at line 561
bool|null
delete()
Delete the model from the database.
in
QueryableModel at line 586
static bool
destroy(mixed|array|Collection ...$identifiers)
Destroys one or multiple instances by primary key
in
QueryableModel at line 605
protected void
performDeleteOnModel()
Perform the actual delete query on this model instance.
in
QueryableModel at line 621
QueryableModel
replicate(array $except = null)
Clone the model into a new, non-existing instance.
in
QueryableModel at line 646
array
jsonSerialize()
Convert the object into something JSON serializable.
in
QueryableModel at line 657
bool
update(array $attributes = [])
Update the model
in
QueryableModel at line 673
static QueryableModel
updateOrCreate(array $query, array $with = [])
Updates an exisisting model or creates it
in
QueryableModel at line 701
$this
fill(array $attributes)
Fill the model with an array of attributes.
in
QueryableModel at line 724
bool
is(QueryableModel $other)
in
QueryableModel at line 734
array
toArray()
Convert the model instance to an array.
in
QueryableModel at line 747
string
toJson(int $options = 0)
Convert the model instance to JSON.
in
QueryableModel at line 763
mixed
getRouteKey()
Get the value of the model's route key.
in
QueryableModel at line 773
string
getRouteKeyName()
Get the route key for the model.
at line 271
Model|null
resolveRouteBinding(mixed $rawValue, string|null $field = null)
Retrieve the model for a bound value.
in
QueryableModel at line 832
Model|null
resolveChildRouteBinding(string $childType, mixed $value, string|null $field)
Retrieve the child model for a bound value.
in
QueryableModel at line 842
bool
getIncrementing()
Get the value indicating whether the IDs are incrementing.
in
QueryableModel at line 851
bool
offsetExists(mixed $offset)
in
QueryableModel at line 860
mixed
offsetGet(mixed $offset)
in
QueryableModel at line 870
void
offsetSet(mixed $offset, mixed $value)
in
QueryableModel at line 879
void
offsetUnset(mixed $offset)
in
QueryableModel at line 889
protected void
bootIfNotBooted()
Check if the model needs to be booted and if so, do it.
in
QueryableModel at line 906
static protected void
boot()
Bootstrap the model and its traits.
in
QueryableModel at line 916
static protected void
bootTraits()
Boot all of the bootable traits on the model.
in
QueryableModel at line 942
mixed
__get(string $key)
Dynamically retrieve attributes on the model.
in
QueryableModel at line 954
void
__set(string $key, mixed $value)
Dynamically set attributes on the model.
in
QueryableModel at line 964
protected void
initializeTraits()
Initialize any initializable traits on the model.
in
QueryableModel at line 976
mixed
getKey()
Get the value of the model's primary key.
in
QueryableModel at line 986
string
getKeyName()
Get the primary key for the model.
in
QueryableModel at line 997
$this
setKeyName(string $key)
Set the primary key for the model.
in
QueryableModel at line 1009
string
getKeyType()
Get the auto-incrementing key type.
in
QueryableModel at line 1020
$this
setKeyType(string $type)
Set the data type for the primary key.
in
QueryableModel at line 1032
static void
clearBootedModels()
Clear the list of booted models so they will be re-booted.
in
QueryableModel at line 1044
static mixed
__callStatic(string $method, array $parameters)
Handle dynamic static method calls into the method.
in
QueryableModel at line 1054
string
__toString()
Convert the model to its string representation.
in
QueryableModel at line 1064
void
__wakeup()
When a model is being unserialized, check if it needs to be booted.
in
QueryableModel at line 1075
static protected void
booting(Closure|string $callback)
Register a booting model event with the dispatcher.
in
QueryableModel at line 1088
static protected void
booted(Closure|string $callback)
Register a booted model event with the dispatcher.
in
QueryableModel at line 1101
protected bool
relationLoaded(string $key)
Shim to make model compatible with HasAttributes trait
in
QueryableModel at line 1110
bool
__isset(string $key)
in
QueryableModel at line 1118
array
__debugInfo()
in
CastsDefaultFields at line 16
static array
customFieldCasts(Model $model)
in
CastsDefaultFields at line 47
static
bootCastsDefaultFields()
in
HidesDefaultFields at line 7
static
bootHidesDefaultFields()
at line 180
Model
loadRevision(int $revisionId = null)
Loads the given revision
at line 258
Structure|null
getStructureAttribute()
at line 293
static protected
resolvedRouteBinding(Model|null $model = null)
at line 312
static bool
register()
Register the model