Invite.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace App\Http\Models;
  3. use Auth;
  4. use Eloquent;
  5. use Illuminate\Database\Eloquent\Model;
  6. use Illuminate\Database\Eloquent\SoftDeletes;
  7. /**
  8. * 邀请码
  9. * Class Invite
  10. *
  11. * @package App\Http\Models
  12. * @mixin Eloquent
  13. * @property-read mixed $status_label
  14. */
  15. class Invite extends Model
  16. {
  17. use SoftDeletes;
  18. protected $table = 'invite';
  19. protected $primaryKey = 'id';
  20. protected $dates = ['deleted_at'];
  21. function scopeUid($query)
  22. {
  23. return $query->where('uid', Auth::user()->id);
  24. }
  25. function generator()
  26. {
  27. return $this->hasOne(User::class, 'id', 'uid');
  28. }
  29. function user()
  30. {
  31. return $this->hasOne(User::class, 'id', 'fuid');
  32. }
  33. function getStatusLabelAttribute()
  34. {
  35. switch($this->attributes['status']){
  36. case 0:
  37. $status_label = '<span class="badge badge-success">'.trans('home.invite_code_table_status_un').'</span>';
  38. break;
  39. case 1:
  40. $status_label = '<span class="badge badge-danger">'.trans('home.invite_code_table_status_yes').'</span>';
  41. break;
  42. case 2:
  43. $status_label = '<span class="badge badge-default">'.trans('home.invite_code_table_status_expire').'</span>';
  44. break;
  45. default:
  46. $status_label = '<span class="badge badge-default"> 未知 </span>';
  47. }
  48. return $status_label;
  49. }
  50. }