class DiscussionRenamedPost extends AbstractEventPost implements MergeableInterface

A post which indicates that a discussion's title was changed.

The content is stored as a sequential array containing the old title and the new title.

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
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
array $content from AbstractEventPost
Carbon|null $edited_at from Post
int|null $edited_user_id from Post
Carbon|null $hidden_at from Post
int|null $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
User|null $hiddenUser from Post

Methods

static 
boot()

No description

from Post
__construct(array $attributes = [])

No description

array
getCasts()

No description

void
afterSave(callable $callback)

Register a callback to be run once after the model is saved.

void
afterDelete(callable $callback)

Register a callback to be run once after the model is deleted.

array
releaseAfterSaveCallbacks()

No description

array
releaseAfterDeleteCallbacks()

No description

newModelQuery()

No description

qualifyColumn($column)

No description

mixed
withTableAlias(callable $callback)

No description

newCollection(array $models = [])

No description

__sleep()

No description

void
raise(object $event)

No description

array
releaseEvents()

Return and reset all pending events.

static void
registerVisibilityScoper(callable $scoper, string|null $ability = null)

No description

Builder
scopeWhereVisibleTo(Builder $query, User $actor, string $ability = 'view')

Scope a query to only include records that are visible to a user.

static Builder
whereVisibleTo(User $user)

No description

bool
isVisibleTo(User $user)

Determine whether this post is visible to the given user.

from Post
BelongsTo
discussion()

No description

from Post
BelongsTo
user()

No description

from Post
BelongsTo
editedUser()

No description

from Post
BelongsTo
hiddenUser()

No description

from Post
Builder
scopeAllTypes(Builder $query)

Get all posts, regardless of their type, by removing the `RegisteredTypesScope` global scope constraints applied on this model.

from Post
Post|object
newFromBuilder(array $attributes = [], string|null $connection = null)

Create a new model instance according to the post's type.

from Post
static array
getModels()

No description

from Post
static void
setModel(string $type, string $model)

No description

from Post
array|null
getContentAttribute(string $value)

Unserialize the content attribute from the database's JSON value.

void
setContentAttribute(mixed $value)

Serialize the content attribute to be stored in the database as JSON.

saveAfter(Post|null $previous = null)

Save the model, given that it is going to appear immediately after the passed model.

reply(int $discussionId, int $userId, string $oldTitle, string $newTitle)

No description

static array
buildContent(string $oldTitle, string $newTitle)

No description

Details

static boot()

__construct(array $attributes = [])

Parameters

array $attributes

array getCasts()

Return Value

array

void afterSave(callable $callback)

Register a callback to be run once after the model is saved.

Parameters

callable $callback

Return Value

void

void afterDelete(callable $callback)

Register a callback to be run once after the model is deleted.

Parameters

callable $callback

Return Value

void

array releaseAfterSaveCallbacks()

Return Value

array

array releaseAfterDeleteCallbacks()

Return Value

array

newModelQuery()

qualifyColumn($column)

Parameters

$column

mixed withTableAlias(callable $callback)

Parameters

callable $callback

Return Value

mixed

Collection newCollection(array $models = [])

Parameters

array $models

Return Value

Collection

__sleep()

void raise(object $event)

Parameters

object $event

Return Value

void

array releaseEvents()

Return and reset all pending events.

Return Value

array

static void registerVisibilityScoper(callable $scoper, string|null $ability = null)

Parameters

callable $scoper
string|null $ability

Return Value

void

Builder scopeWhereVisibleTo(Builder $query, User $actor, string $ability = 'view')

Scope a query to only include records that are visible to a user.

Parameters

Builder $query
User $actor
string $ability

Return Value

Builder

static Builder whereVisibleTo(User $user)

Parameters

User $user

Return Value

Builder

bool isVisibleTo(User $user)

Determine whether this post is visible to the given user.

Parameters

User $user

Return Value

bool

BelongsTo discussion()

Return Value

BelongsTo

BelongsTo user()

Return Value

BelongsTo

BelongsTo editedUser()

Return Value

BelongsTo

BelongsTo hiddenUser()

Return Value

BelongsTo

Builder scopeAllTypes(Builder $query)

Get all posts, regardless of their type, by removing the `RegisteredTypesScope` global scope constraints applied on this model.

Parameters

Builder $query

Return Value

Builder

Post|object newFromBuilder(array $attributes = [], string|null $connection = null)

Create a new model instance according to the post's type.

Parameters

array $attributes
string|null $connection

Return Value

Post|object

static array getModels()

Return Value

array

static void setModel(string $type, string $model)

Parameters

string $type
string $model

Return Value

void

array|null getContentAttribute(string $value)

Unserialize the content attribute from the database's JSON value.

Parameters

string $value

Return Value

array|null

void setContentAttribute(mixed $value)

Serialize the content attribute to be stored in the database as JSON.

Parameters

mixed $value

Return Value

void

MergeableInterface saveAfter(Post|null $previous = null)

Save the model, given that it is going to appear immediately after the passed model.

Parameters

Post|null $previous

Return Value

MergeableInterface The model resulting after the merge. If the merge is unsuccessful, this should be the current model instance. Otherwise, it should be the model that was merged into.

static DiscussionRenamedPost reply(int $discussionId, int $userId, string $oldTitle, string $newTitle)

Parameters

int $discussionId
int $userId
string $oldTitle
string $newTitle

Return Value

DiscussionRenamedPost

static protected array buildContent(string $oldTitle, string $newTitle)

Parameters

string $oldTitle
string $newTitle

Return Value

array