Chat.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\BroadcastsEvents;
  4. use Illuminate\Database\Eloquent\Concerns\HasUuids;
  5. use Illuminate\Database\Eloquent\Model;
  6. use Illuminate\Database\Eloquent\Relations\BelongsTo;
  7. use Illuminate\Database\Eloquent\Relations\HasMany;
  8. use Illuminate\Database\Eloquent\Relations\MorphToMany;
  9. class Chat extends Model
  10. {
  11. use HasUuids;
  12. use BroadcastsEvents;
  13. protected $fillable = ['title', 'text'];
  14. public function user(): BelongsTo
  15. {
  16. return $this->belongsTo(User::class);
  17. }
  18. public function messages(): HasMany
  19. {
  20. return $this->hasMany(Message::class)->orderBy('id');
  21. }
  22. public function batches(): MorphToMany
  23. {
  24. return $this->morphToMany(JobBatch::class, 'batchable', relatedPivotKey: 'batch_id')->withPivot('type');
  25. }
  26. public function broadcastOn(string $event): array
  27. {
  28. return [$this, $this->user];
  29. }
  30. // public function broadcastWith(string $event): array
  31. // {
  32. // return ['id' => $this->id, 'title' => $this->title];
  33. // }
  34. }