class UserState extends AbstractModel
Models a discussion-user state record in the database.
Stores information about how much of a discussion a user has read. Can also be used to store other information, if the appropriate columns are added to the database, like a user's subscription status for a discussion.
Traits
Properties
bool | $timestamps | <p>Indicates if the model should be timestamped. Turn off by default.</p> | from AbstractModel | |
protected callable[] | $afterSaveCallbacks | <p>An array of callbacks to be run once after the model is saved.</p> | from AbstractModel | |
protected callable[] | $afterDeleteCallbacks | <p>An array of callbacks to be run once after the model is deleted.</p> | from AbstractModel | |
static | $customRelations | from AbstractModel | ||
static | $dateAttributes | from AbstractModel | ||
static | $defaults | from AbstractModel | ||
protected array | $pendingEvents | from EventGeneratorTrait | ||
protected | $table | <p>{@inheritdoc}</p> | ||
protected array | $dates | <p>The attributes that should be mutated to dates.</p> | ||
int | $user_id | |||
int | $discussion_id | |||
Carbon|null | $last_read_at | |||
int|null | $last_read_post_number | |||
Discussion | $discussion | |||
User | $user |
Methods
<p>Get an attribute from the model. If nothing is found, attempt to load a custom relation method with this key.</p>
<p>Register a callback to be run once after the model is saved.</p>
<p>Register a callback to be run once after the model is deleted.</p>
<p>Mark the discussion as being read up to a certain point. Raises the DiscussionWasRead event.</p>
Details
in AbstractModel
at
line 65
static
boot()
<p>{@inheritdoc}</p>
in AbstractModel
at
line 85
__construct(array $attributes = [])
<p>{@inheritdoc}</p>
in AbstractModel
at
line 105
array
getDates()
<p>Get the attributes that should be converted to dates.</p>
in AbstractModel
at
line 123
mixed
getAttribute(string $key)
<p>Get an attribute from the model. If nothing is found, attempt to load a custom relation method with this key.</p>
in AbstractModel
at
line 149
protected mixed
getCustomRelation(string $name)
<p>Get a custom relation object.</p>
in AbstractModel
at
line 165
void
afterSave(callable $callback)
<p>Register a callback to be run once after the model is saved.</p>
in AbstractModel
at
line 176
void
afterDelete(callable $callback)
<p>Register a callback to be run once after the model is deleted.</p>
in AbstractModel
at
line 184
callable[]
releaseAfterSaveCallbacks()
in AbstractModel
at
line 196
callable[]
releaseAfterDeleteCallbacks()
in AbstractModel
at
line 208
__call($method, $arguments)
<p>{@inheritdoc}</p>
in EventGeneratorTrait
at
line 24
raise(mixed $event)
<p>Raise a new event.</p>
in EventGeneratorTrait
at
line 34
array
releaseEvents()
<p>Return and reset all pending events.</p>
at
line 56
$this
read(int $number)
<p>Mark the discussion as being read up to a certain point. Raises the DiscussionWasRead event.</p>
at
line 73
BelongsTo
discussion()
<p>Define the relationship with the discussion that this state is for.</p>
at
line 83
BelongsTo
user()
<p>Define the relationship with the user that this state is for.</p>
at
line 94
protected Builder
setKeysForSaveQuery(Builder $query)
<p>Set the keys for a save update query.</p>