| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- <?php
- namespace App\Models;
- use App\Enums\Status;
- use Illuminate\Database\Eloquent\BroadcastsEvents;
- use Illuminate\Database\Eloquent\Concerns\HasUuids;
- use Illuminate\Database\Eloquent\Model;
- use Illuminate\Database\Eloquent\Relations\BelongsTo;
- use Illuminate\Database\Eloquent\Relations\MorphToMany;
- class Message extends Model
- {
- use HasUuids;
- use BroadcastsEvents;
- protected $fillable = ['content', 'thinking', 'from', 'status', 'fields'];
- public function casts(): array
- {
- return [
- 'feidls' => 'array',
- 'status' => Status::class,
- ];
- }
- public function batches(): MorphToMany
- {
- return $this->morphToMany(JobBatch::class, 'batchable')->withPivot('type');
- }
- public function chat(): BelongsTo
- {
- return $this->belongsTo(Chat::class);
- }
- public function broadcastOn(string $event): array
- {
- return [$this, $this->chat];
- }
- public function broadcastWith(string $event): array
- {
- return ['id' => $this->id, 'from' => $this->from, 'status' => $this->status];
- }
- }
|