User.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace App\Http\Models;
  3. use Auth;
  4. use Illuminate\Notifications\Notifiable;
  5. use Illuminate\Foundation\Auth\User as Authenticatable;
  6. /**
  7. * 用户信息
  8. * Class User
  9. *
  10. * @package App\Http\Models
  11. * @mixin \Eloquent
  12. */
  13. class User extends Authenticatable
  14. {
  15. use Notifiable;
  16. protected $table = 'user';
  17. protected $primaryKey = 'id';
  18. function scopeUid($query)
  19. {
  20. return $query->where('id', Auth::user()->id);
  21. }
  22. function levelList()
  23. {
  24. return $this->hasOne(Level::class, 'level', 'level');
  25. }
  26. function payment()
  27. {
  28. return $this->hasMany(Payment::class, 'user_id', 'id');
  29. }
  30. function label()
  31. {
  32. return $this->hasMany(UserLabel::class, 'user_id', 'id');
  33. }
  34. function subscribe()
  35. {
  36. return $this->hasOne(UserSubscribe::class, 'user_id', 'id');
  37. }
  38. function referral()
  39. {
  40. return $this->hasOne(User::class, 'id', 'referral_uid');
  41. }
  42. function getBalanceAttribute($value)
  43. {
  44. return $value / 100;
  45. }
  46. function setBalanceAttribute($value)
  47. {
  48. return $this->attributes['balance'] = $value * 100;
  49. }
  50. }