Ticket.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace App\Models;
  3. use Auth;
  4. use Illuminate\Database\Eloquent\Model;
  5. use Illuminate\Database\Eloquent\Relations\BelongsTo;
  6. /**
  7. * 工单
  8. */
  9. class Ticket extends Model
  10. {
  11. protected $table = 'ticket';
  12. public function scopeUid($query)
  13. {
  14. return $query->whereUserId(Auth::id());
  15. }
  16. public function user(): BelongsTo
  17. {
  18. return $this->belongsTo(User::class);
  19. }
  20. public function admin(): BelongsTo
  21. {
  22. return $this->BelongsTo(User::class);
  23. }
  24. public function getStatusLabelAttribute(): string
  25. {
  26. switch ($this->attributes['status']) {
  27. case 0:
  28. $status_label = '<span class="badge badge-lg badge-success">' . trans(
  29. 'home.ticket_table_status_wait'
  30. ) . '</span>';
  31. break;
  32. case 1:
  33. $status_label = '<span class="badge badge-lg badge-danger">' . trans(
  34. 'home.ticket_table_status_reply'
  35. ) . '</span>';
  36. break;
  37. case 2:
  38. $status_label = '<span class="badge badge-lg badge-default">' . trans(
  39. 'home.ticket_table_status_close'
  40. ) . '</span>';
  41. break;
  42. default:
  43. $status_label = '<span class="badge badge-lg badge-default"> 未知 </span>';
  44. }
  45. return $status_label;
  46. }
  47. }