entity_type === '') { $this->entity_type = null; } return $this->morphTo('entity'); } /** * Get the user this activity relates to. */ public function user(): BelongsTo { return $this->belongsTo(User::class); } /** * Returns text from the language files, Looks up by using the activity key. */ public function getText(): string { return trans('activities.' . $this->type); } /** * Check if this activity is intended to be for an entity. */ public function isForEntity(): bool { return Str::startsWith($this->type, [ 'page_', 'chapter_', 'book_', 'bookshelf_', ]); } /** * Checks if another Activity matches the general information of another. */ public function isSimilarTo(self $activityB): bool { return [$this->type, $this->entity_type, $this->entity_id] === [$activityB->type, $activityB->entity_type, $activityB->entity_id]; } }