class CommentPost extends Post implements Formattable
A standard comment in a discussion.
Traits
Properties
| bool | $timestamps | Indicates if the model should be timestamped. Turn off by default. | from AbstractModel |
|
| protected callable[] | $afterSaveCallbacks | An array of callbacks to be run once after the model is saved. | from AbstractModel |
|
| protected callable[] | $afterDeleteCallbacks | An array of callbacks to be run once after the model is deleted. | from AbstractModel |
|
| static array | $customCasts | from AbstractModel |
|
|
| static array | $defaults | from AbstractModel |
|
|
| static protected array<class-string,array<string,string>> | $castsCache | Resolved casts, keyed by model class. | from AbstractModel |
|
| protected string|null | $tableAlias | An alias for the table name, used in queries. | from AbstractModel |
|
| string[]|null | $uniqueKeys | If a model has unique keys, they should be defined here. | from AbstractModel |
|
| protected array | $pendingEvents | from EventGeneratorTrait |
|
|
| static protected array | $visibilityScopers | from ScopeVisibilityTrait |
|
|
| protected | $table | from Post |
|
|
| protected | $casts | from Post |
|
|
| static protected Post>> | $models | A map of post types, as specified in the `type` column, to their classes. | from Post |
|
| static string | $type |
|
||
| int | $id | from Post |
|
|
| int | $discussion_id | from Post |
|
|
| int|Expression | $number | from Post |
|
|
| Carbon | $created_at | from Post |
|
|
| int|null | $user_id | from Post |
|
|
| string|null | $content | from HasFormattedContent |
|
|
| Carbon|null | $edited_at | from Post |
|
|
| int|null | $edited_user_id | from Post |
|
|
| $hidden_at | from Post |
|
||
| $hidden_user_id | from Post |
|
||
| string | $ip_address | from Post |
|
|
| bool | $is_private | from Post |
|
|
| Discussion|null | $discussion | from Post |
|
|
| User|null | $user | from Post |
|
|
| User|null | $editedUser | from Post |
|
|
| $hiddenUser | from Post |
|
||
| static protected Formatter | $formatter | from HasFormattedContent |
|
|
| string|null | $parsed_content | from HasFormattedContent |
|
|
| protected | $observables |
|
Methods
Discard the resolved casts, so that newly registered ones are picked up.
Register a callback to be run once after the model is saved.
Register a callback to be run once after the model is deleted.
No description
Scope a query to only include records that are visible to a user.
Scope a query over one discussion's posts to those visible to the user, where the caller has already established that the DISCUSSION is visible.
Get all posts, regardless of their type, by removing the `RegisteredTypesScope` global scope constraints applied on this model.
Create a new model instance according to the post's type.
No description
Get the content rendered as HTML.
Details
at
line 32
static
boot()
in AbstractModel
at
line 100
__construct(array $attributes = [])
in AbstractModel
at
line 115
array
getCasts()
in AbstractModel
at
line 135
static void
flushCastsCache()
Discard the resolved casts, so that newly registered ones are picked up.
in AbstractModel
at
line 143
void
afterSave(callable $callback)
Register a callback to be run once after the model is saved.
in AbstractModel
at
line 151
void
afterDelete(callable $callback)
Register a callback to be run once after the model is deleted.
in AbstractModel
at
line 159
array
releaseAfterSaveCallbacks()
in AbstractModel
at
line 171
array
releaseAfterDeleteCallbacks()
in AbstractModel
at
line 183
newModelQuery()
in AbstractModel
at
line 195
qualifyColumn($column)
in AbstractModel
at
line 204
mixed
withTableAlias(callable $callback)
in AbstractModel
at
line 217
Collection
newCollection(array $models = [])
in AbstractModel
at
line 223
__sleep()
in EventGeneratorTrait
at
line 16
void
raise(object $event)
in EventGeneratorTrait
at
line 24
array
releaseEvents()
Return and reset all pending events.
in ScopeVisibilityTrait
at
line 28
static void
registerVisibilityScoper(callable $scoper, string|null $ability = null)
in ScopeVisibilityTrait
at
line 44
Builder
scopeWhereVisibleTo(Builder $query, User $actor, string $ability = 'view')
Scope a query to only include records that are visible to a user.
in ScopeVisibilityTrait
at
line 19
static Builder
whereVisibleTo(User $user)
bool
isVisibleTo(User $user)
Determine whether this post is visible to the given user.
Builder
scopeWhereVisibleToInDiscussion(Builder $query, User $actor, Discussion $discussion)
Scope a query over one discussion's posts to those visible to the user, where the caller has already established that the DISCUSSION is visible.
Applies the same registered `view` scopers as whereVisibleTo(), but lets scopers implementing {\Flarum\Post\Access\ScopesPostVisibilityWithinDiscussion} take their fast path: discussion-level access checks are evaluated once in PHP instead of as per-row subqueries, whose cost grows with the size of the discussion. Only meaningful when the query is restricted to the given discussion's posts.
Builder
scopeAllTypes(Builder $query)
Get all posts, regardless of their type, by removing the `RegisteredTypesScope` global scope constraints applied on this model.
Post|object
newFromBuilder(array $attributes = [], string|null $connection = null)
Create a new model instance according to the post's type.
in HasFormattedContent
at
line 25
string|null
getContentAttribute(string|null $value)
in HasFormattedContent
at
line 30
string|null
getParsedContentAttribute()
in HasFormattedContent
at
line 35
void
setContentAttribute(string $value, User|null $actor = null)
in HasFormattedContent
at
line 40
void
setParsedContentAttribute(string $value)
in HasFormattedContent
at
line 48
string
formatContent(ServerRequestInterface|null $request = null)
Get the content rendered as HTML.