Ticket.php 1.1 KB

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