MemberModel.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. * 上级
  25. * @return \Illuminate\Database\Eloquent\Relations\HasOne
  26. */
  27. public function parent()
  28. {
  29. return $this->hasOne(MemberModel::class, 'id','parent_id')
  30. ->where(['mark'=>1])
  31. ->select(['id','parent_id','nickname','usdt','sbt','profit','code','bonus_rate','wallet_url','status']);
  32. }
  33. /**
  34. * 等级
  35. * @return \Illuminate\Database\Eloquent\Relations\HasOne
  36. */
  37. public function level()
  38. {
  39. return $this->hasOne(MemberLevelModel::class, 'id','member_level')
  40. ->where(['mark'=>1])
  41. ->select(['id','name','upgrade_usdt','bonus_rate','weighting_rate','status']);
  42. }
  43. /**
  44. * 质押订单
  45. * @return \Illuminate\Database\Eloquent\Relations\HasOne
  46. */
  47. public function pledge()
  48. {
  49. return $this->hasOne(PledgeOrderModel::class, 'user_id','id')
  50. ->where(function($query){
  51. $query->where('expired_at','>', date('Y-m-d H:i:s'))
  52. ->orWhere(['status'=>1]);
  53. })
  54. ->where(['mark'=>1])
  55. ->select(['id','user_id','order_no','money','expired_at','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. }