MemberModel.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. protected $guarded = ['id']; // 除了 id 之外,其余字段都允许批量更新
  24. public function getCreateTimeAttribute($value)
  25. {
  26. return $value?datetime($value,'Y-m-d H:i:s'):'';
  27. }
  28. public function getLoginTimeAttribute($value)
  29. {
  30. return $value?datetime($value,'Y-m-d H:i:s'):'';
  31. }
  32. public function getAvatarAttribute($value)
  33. {
  34. return $value?get_image_url($value):'';
  35. }
  36. /**
  37. * 推荐人
  38. */
  39. public function parent()
  40. {
  41. return $this->hasOne(MemberModel::class, 'id', 'parent_id')
  42. ->where(['status' => 1, 'mark' => 1])
  43. ->select(['id', 'nickname', 'username', 'mobile', 'status']);
  44. }
  45. /**
  46. * 获取会员信息
  47. * @param int $id 会员ID
  48. * @return array|string
  49. * @author laravel开发员
  50. * @since 2020/11/11
  51. */
  52. public function getInfo($id)
  53. {
  54. $info = parent::getInfo($id); // TODO: Change the autogenerated stub
  55. if ($info) {
  56. // 头像
  57. if ($info['avatar']) {
  58. $info['avatar'] = get_image_url($info['avatar']);
  59. }
  60. }
  61. return $info;
  62. }
  63. }