Chat ​
File: src/Entities/Chat.php
Namespace: Unusualify\Modularous\Entities
Extends: Model
Chat room attached to a parent model via a polymorphic relationship. A chat contains ordered messages, supports pinned messages, and exposes file attachments collected from its messages.
Fillable Attributes ​
| Attribute | Type | Description |
|---|---|---|
chatable_id | int | Parent model ID |
chatable_type | string | Parent model class |
Relationships ​
chatable(): MorphTo ​
The parent model this chat is associated with.
messages(): HasMany ​
All ChatMessage records in this chat.
latestMessage(): HasOne ​
The most recent message (using latestOfMany('created_at')).
fileponds(): HasManyThrough ​
All Filepond uploads through messages in this chat.
Accessors ​
| Accessor | Type | Description |
|---|---|---|
attachments | Collection | All fileponds with role attachments, formatted via mediableFormat() |
pinned_message | ChatMessage|null | The currently pinned message |
Table ​
Resolved from modularous.tables.chats.
Related ​
- ChatMessage — individual messages
- ChatController — chat API endpoints
- Chatable — trait that adds chat support to models