MemberModel.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | LARAVEL8.0 框架 [ LARAVEL ][ RXThinkCMF ]
  4. // +----------------------------------------------------------------------
  5. // | 版权所有 2017~2021 LARAVEL研发中心
  6. // +----------------------------------------------------------------------
  7. // | 官方网站: http://www.laravel.cn
  8. // +----------------------------------------------------------------------
  9. // | Author: laravel开发员 <laravel.qq.com>
  10. // +----------------------------------------------------------------------
  11. namespace App\Models;
  12. /**
  13. * 会员-模型
  14. * @author laravel开发员
  15. * @since 2020/11/11
  16. * Class MemberModel
  17. * @package App\Models
  18. */
  19. class MemberModel extends BaseModel
  20. {
  21. // 设置数据表
  22. protected $table = 'member';
  23. // 头像
  24. public function getAvatarAttribute($value)
  25. {
  26. $value = $value ? get_image_url($value) : '';
  27. return $value;
  28. }
  29. /**
  30. * 收益账户
  31. * @return \Illuminate\Database\Eloquent\Relations\hasOne
  32. */
  33. public function account()
  34. {
  35. return $this->hasOne(AccountStatisticsModel::class, 'user_id','id');
  36. }
  37. /**
  38. * 推荐人
  39. */
  40. public function parent()
  41. {
  42. return $this->hasOne(MemberModel::class, 'id','parent_id')
  43. ->with(['account'])
  44. ->where(['status'=>1,'mark'=>1])
  45. ->select(['id', 'nickname','realname','avatar', 'mobile','company','department','position', 'status']);
  46. }
  47. /**
  48. * 邀请用户
  49. */
  50. public function invites()
  51. {
  52. return $this->hasOne(MemberModel::class, 'parent_id','id')
  53. ->with(['account'])
  54. ->where(['mark'=>1])
  55. ->select(['id', 'nickname','avatar', 'realname','company','parent_id','department','position', 'mobile', 'status']);
  56. }
  57. /**
  58. * 获取会员信息
  59. * @param int $id 会员ID
  60. * @return array|string
  61. * @author laravel开发员
  62. * @since 2020/11/11
  63. */
  64. public function getInfo($id)
  65. {
  66. $info = parent::getInfo($id); // TODO: Change the autogenerated stub
  67. if ($info) {
  68. // 头像
  69. if ($info['avatar']) {
  70. $info['avatar'] = get_image_url($info['avatar']);
  71. }
  72. }
  73. return $info;
  74. }
  75. }