User
class User extends ORM implements AuthorizableInterface, MemberInterface, UserEntityInterface
User.
Traits
Constants
PRIMARY_KEY_TYPE_INCREMENTING |
Incrementing primary key. |
PRIMARY_KEY_TYPE_UUID |
UUID primary key. |
PRIMARY_KEY_TYPE_CUSTOM |
Custom primary key. |
PRIMARY_KEY_TYPE_NONE |
No primary key. |
Properties
protected string | $connectionName | Connection name to use for the model. | from ORM |
static protected ConnectionManager | $connectionManager | Connection manager instance. | from ORM |
static protected array | $traitHooks | ORM query builder hooks. | from ORM |
static protected array | $traitCasts | Trait casts. | from ORM |
protected string | $tableName | Table name. | |
protected string | $foreignKeyName | Foreign key name. | from ORM |
protected string | $primaryKey | Primary key. | from ORM |
protected int | $primaryKeyType | Does this table have an auto increment primary index? | from ORM |
protected bool | $isPersisted | Has the record been loaded from/saved to a database? | from ORM |
protected array | $columns | Column values. | from ORM |
protected array | $original | Original column values. | from ORM |
protected array | $including | Relations to eager load. | from ORM |
protected array | $related | Related records. | from ORM |
protected array | $cast | Type casting. | |
protected array | $assignable | Columns that can be set through mass assignment. | from ORM |
protected array | $protected | Columns and relations that are excluded from the array and json representations of the record. | from ORM |
protected string | $dateOutputFormat | Date format used when returning array and json representations of the record. | from ORM |
protected AuthorizerInterface | $authorizer | Authorizer. | from AuthorizableTrait |
int | $id | ||
Time | $created_at | ||
Time | $updated_at | ||
string | |||
string | $username | ||
string | $password | ||
string | $ip | ||
string | $action_token | ||
string | $access_token | ||
int | $activated | ||
int | $banned | ||
int | $failed_attempts | ||
Time|null | $last_fail_at | ||
Time|null | $locked_until | ||
ResultSet | $groups |
Methods
Constructor.
Returns TRUE if the model has included the relationship and FALSE if not.
Returns TRUE if it's probable that $name is a relation and FALSE if not.
Assigns the column values to the model.
Returns a record using the value of its primary key.
Creates a new record and returns the model.
Returns a HasOnePolymorphic relation.
Returns a HasManyPolymorphic relation.
Returns a ManyToMany relation.
Returns a BelongsToPolymorphic relation.
Excludes the chosen columns and relations from array and json representations of the record.
Exposes the chosen columns and relations in the array and json representations of the record.
Forwards static method calls to the query builder.
Returns TRUE if allowed to perform the action on the entity and FALSE if not.
Returns the column that holds the "created at" timestamp.
Returns the column that holds the "updated at" timestamp.
Allows you to update the "updated at" timestamp without modifying any data.
User groups.
Returns a hasher instance.
Password mutator.
Generates a new token.
No description
Sets the user email address.
Returns the user email address.
Sets the username.
Returns the user username.
Sets the user password.
Returns the user password hash.
Sets the user IP address.
Returns the user IP address.
Generates a new action token.
Returns the user action token.
Generates a new access token.
Returns the user access token.
Activates the user.
Deactivates the user.
Returns TRUE of the user is activated and FALSE if not.
Bans the user.
Unbans the user.
Returns TRUE if the user is banned and FALSE if not.
Returns TRUE if the provided password is correct and FALSE if not.
Returns TRUE if a user is a member of the group(s) and FALSE if not.
Returns null if the account isn't locked and a date time instance if it's locked.
Unlocks the account.
Returns TRUE if the account is locked and FALSE if not.
Returns the number of failed login attempts.
Gets the time of the last failed attempt.
Throttles login attempts.
Resets the login throttling.
Details
in ORM at line 203
__construct(array $columns = [], bool $raw = false, bool $whitelist = true, bool $isPersisted = false)
Constructor.
in ORM at line 220
__clone()
Making sure that cloning returns a "fresh copy" of the record.
in ORM at line 237
static
setConnectionManager(ConnectionManager $connectionManager)
Set the connection manager.
in ORM at line 247
Connection
getConnection()
Returns the connection of the model.
in ORM at line 262
bool
isPersisted()
Has the record been loaded from/saved to a database?
in ORM at line 270
synchronize()
Synchronizes the original values with the modified values.
in ORM at line 280
protected string
getDateFormat()
Gets the date format from the query builder compiler.
in ORM at line 295
protected
registerHooksAndCasts()
Registers hooks and casts.
in ORM at line 325
protected array
bindHooks(array $hooks)
Binds the hooks to the current instance of "$this".
in ORM at line 343
array
getHooks(string $event)
Returns hooks for the chosen event.
in ORM at line 354
protected string
getClassShortName(string|null $className = null)
Returns the short name of a class.
in ORM at line 373
string
getTable()
Returns the table name of the model.
in ORM at line 388
string
getPrimaryKey()
Returns the primary key of the table.
in ORM at line 398
int
getPrimaryKeyType()
Returns the primary key type.
in ORM at line 408
mixed
getPrimaryKeyValue()
Returns the primary key value.
in ORM at line 418
string
getForeignKey()
Returns the foreign key of the table.
in ORM at line 433
string
getClass()
Returns the namespaced class name of the model.
in ORM at line 443
setIncludes(array $includes)
Sets the relations to eager load.
in ORM at line 453
array
getIncludes()
Returns the relations to eager load.
in ORM at line 464
setRelated(string $relation, mixed $related)
Sets eagerly loaded related records.
in ORM at line 475
bool
includes(string $relation)
Returns TRUE if the model has included the relationship and FALSE if not.
in ORM at line 486
$this
include(array|string $includes)
Eager loads relations on the model.
in ORM at line 501
array
getRelated()
Returns the related records array.
in ORM at line 513
protected mixed
cast(string $name, mixed $value)
Cast value to the appropriate type.
in ORM at line 543
setRawColumnValue(string $name, mixed $value)
Sets a raw column value.
in ORM at line 554
setColumnValue(string $name, mixed $value)
Sets a column value.
in ORM at line 574
mixed
getRawColumnValue(string $name)
Gets a raw column value.
in ORM at line 585
mixed
getColumnValue(string $name)
Returns a column value.
in ORM at line 601
protected bool
isRelation(string $name)
Returns TRUE if it's probable that $name is a relation and FALSE if not.
in ORM at line 612
mixed
getValue(string $name)
Gets a column value or relation.
in ORM at line 643
array
getRawColumnValues()
Returns the columns array.
in ORM at line 654
protected
setColumValues(array $columns, bool $raw)
Sets column values.
in ORM at line 687
$this
assign(array $columns, bool $raw = false, bool $whitelist = true)
Assigns the column values to the model.
in ORM at line 716
__set(string $name, mixed $value)
Set column value using overloading.
in ORM at line 727
mixed
__get(string $name)
Get column value or relation using overloading.
in ORM at line 738
bool
__isset(string $name)
Checks if a column or relation is set using overloading.
in ORM at line 753
__unset(string $name)
Unset column value or relation using overloading.
in ORM at line 775
static ORM|null
get(mixed $id, array $columns = [])
Returns a record using the value of its primary key.
in ORM at line 788
static ORM
create(array $columns = [], bool $raw = false, bool $whitelist = true)
Creates a new record and returns the model.
in ORM at line 804
protected HasOne
hasOne(string $model, string|null $foreignKey = null)
Returns a HasOne relation.
in ORM at line 818
protected HasOnePolymorphic
hasOnePolymorphic(string $model, string $polymorphicType)
Returns a HasOnePolymorphic relation.
in ORM at line 832
protected HasMany
hasMany(string $model, string|null $foreignKey = null)
Returns a HasMany relation.
in ORM at line 846
protected HasManyPolymorphic
hasManyPolymorphic(string $model, string $polymorphicType)
Returns a HasManyPolymorphic relation.
in ORM at line 862
protected ManyToMany
manyToMany(string $model, string|null $foreignKey = null, string|null $junctionTable = null, string|null $junctionKey = null)
Returns a ManyToMany relation.
in ORM at line 876
protected BelongsTo
belongsTo(string $model, string|null $foreignKey = null)
Returns a BelongsTo relation.
in ORM at line 890
protected BelongsToPolymorphic
belongsToPolymorphic(string $model, string $polymorphicType)
Returns a BelongsToPolymorphic relation.
in ORM at line 902
bool
isModified()
Has the record been modified?
in ORM at line 912
array
getModified()
Returns the modified column values of the record.
in ORM at line 932
protected mixed
generatePrimaryKey()
Generates a primary key.
in ORM at line 982
bool
save()
Saves the record to the database.
in ORM at line 1027
bool
delete()
Deletes a record from the database.
in ORM at line 1053
$this
protect(array|false|string $column)
Excludes the chosen columns and relations from array and json representations of the record.
You expose all fields by passing FALSE.
in ORM at line 1067
$this
expose(array|string|true $column)
Exposes the chosen columns and relations in the array and json representations of the record.
You can expose all fields by passing TRUE.
in ORM at line 1079
array
toArray()
Returns an array representation of the record.
in ORM at line 1126
array
jsonSerialize()
Returns data which can be serialized by json_encode().
in ORM at line 1137
string
toJson(int $options = 0)
Returns a json representation of the record.
in ORM at line 1147
string
__toString()
Returns a json representation of the record.
in ORM at line 1159
mixed
__call(string $name, array $arguments)
Forwards method calls to the query builder.
in ORM at line 1171
static mixed
__callStatic(string $name, array $arguments)
Forwards static method calls to the query builder.
in AuthorizableTrait at line 29
setAuthorizer(AuthorizerInterface $authorizer)
Sets the authorizer.
in AuthorizableTrait at line 42
bool
can(string $action, object|string $entity, mixed ...$parameters)
Returns TRUE if allowed to perform the action on the entity and FALSE if not.
in TimestampedTrait at line 26
protected array
getTimestampedTraitHooks()
Returns trait hooks.
in TimestampedTrait at line 98
protected array
getTimestampedTraitCasts()
Returns trait casts.
in TimestampedTrait at line 108
protected bool
shouldTouchOnInsert()
Should we touch relations on insert?
in TimestampedTrait at line 118
protected bool
shouldTouchOnUpdate()
Should we touch relations on update?
in TimestampedTrait at line 128
protected bool
shouldTouchOnDelete()
Should we touch relations on delete?
in TimestampedTrait at line 138
string
getCreatedAtColumn()
Returns the column that holds the "created at" timestamp.
in TimestampedTrait at line 148
string
getUpdatedAtColumn()
Returns the column that holds the "updated at" timestamp.
in TimestampedTrait at line 158
protected array
getRelationsToTouch()
Returns the relations that we should touch.
in TimestampedTrait at line 168
bool
touch()
Allows you to update the "updated at" timestamp without modifying any data.
in TimestampedTrait at line 183
protected
touchRelated()
Touches related records.
at line 70
ManyToMany
groups()
User groups.
at line 80
protected HasherInterface
getHasher()
Returns a hasher instance.
at line 91
protected string
passwordMutator(string $password)
Password mutator.
at line 101
protected string
generateToken()
Generates a new token.
at line 46
int
getId()
at line 119
setEmail(string $email)
Sets the user email address.
at line 129
string
getEmail()
Returns the user email address.
at line 139
setUsername(string $username)
Sets the username.
at line 147
string
getUsername()
Returns the user username.
at line 157
setPassword(string $password)
Sets the user password.
at line 167
string
getPassword()
Returns the user password hash.
at line 177
setIp(string $ip)
Sets the user IP address.
at line 187
string
getIp()
Returns the user IP address.
at line 197
string
generateActionToken()
Generates a new action token.
at line 207
string
getActionToken()
Returns the user action token.
at line 217
string
generateAccessToken()
Generates a new access token.
at line 227
string
getAccessToken()
Returns the user access token.
at line 235
activate()
Activates the user.
at line 243
deactivate()
Deactivates the user.
at line 253
bool
isActivated()
Returns TRUE of the user is activated and FALSE if not.
at line 261
ban()
Bans the user.
at line 269
unban()
Unbans the user.
at line 279
bool
isBanned()
Returns TRUE if the user is banned and FALSE if not.
at line 291
bool
validatePassword(string $password, bool $autoSave = true)
Returns TRUE if the provided password is correct and FALSE if not.
at line 317
bool
isMemberOf(array|int|string $group)
Returns TRUE if a user is a member of the group(s) and FALSE if not.
at line 343
lockUntil(DateTimeInterface $time)
Locks the account until the given date.
at line 353
DateTimeInterface|Time|null
lockedUntil()
Returns null if the account isn't locked and a date time instance if it's locked.
at line 361
unlock()
Unlocks the account.
at line 371
bool
isLocked()
Returns TRUE if the account is locked and FALSE if not.
at line 381
int
getFailedAttempts()
Returns the number of failed login attempts.
at line 391
DateTimeInterface|Time|null
getLastFailAt()
Gets the time of the last failed attempt.
at line 404
bool
throttle(int $maxLoginAttempts, int $lockTime, bool $autoSave = true)
Throttles login attempts.
at line 442
bool
resetThrottle(bool $autoSave = true)
Resets the login throttling.