Ticket.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. protected $table = 'ticket';
  11. public function scopeUid($query) {
  12. return $query->whereUserId(Auth::id());
  13. }
  14. public function user(): BelongsTo {
  15. return $this->belongsTo(User::class);
  16. }
  17. public function admin(): BelongsTo {
  18. return $this->BelongsTo(User::class);
  19. }
  20. public function getStatusLabelAttribute(): string {
  21. switch($this->attributes['status']){
  22. case 0:
  23. $status_label = '<span class="badge badge-lg badge-success">'.trans('home.ticket_table_status_wait').'</span>';
  24. break;
  25. case 1:
  26. $status_label = '<span class="badge badge-lg badge-danger">'.trans('home.ticket_table_status_reply').'</span>';
  27. break;
  28. case 2:
  29. $status_label = '<span class="badge badge-lg badge-default">'.trans('home.ticket_table_status_close').'</span>';
  30. break;
  31. default:
  32. $status_label = '<span class="badge badge-lg badge-default"> 未知 </span>';
  33. }
  34. return $status_label;
  35. }
  36. }