User.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. namespace app\common\model;
  3. use think\Model;
  4. use traits\model\SoftDelete;
  5. /**
  6. * 会员模型
  7. */
  8. class User extends Model
  9. {
  10. use SoftDelete;
  11. // 开启自动写入时间戳字段
  12. protected $autoWriteTimestamp = 'int';
  13. // 定义时间戳字段名
  14. protected $createTime = 'createtime';
  15. protected $updateTime = 'updatetime';
  16. protected $deleteTime = 'deletetime';
  17. // 追加属性
  18. protected $append = [
  19. 'url',
  20. ];
  21. public static function init()
  22. {
  23. parent::init();
  24. }
  25. /**
  26. * 获取个人URL
  27. * @param string $value
  28. * @param array $data
  29. * @return string
  30. */
  31. public function getUrlAttr($value, $data)
  32. {
  33. return "/u/" . $data['id'];
  34. }
  35. // /**
  36. // * 获取头像
  37. // * @param string $value
  38. // * @param array $data
  39. // * @return string
  40. // */
  41. // public function getAvatarAttr($value, $data)
  42. // {
  43. // return $value ? $value : '/assets/img/avatar.png';
  44. // }
  45. /**
  46. * 获取验证字段数组值
  47. * @param string $value
  48. * @param array $data
  49. * @return object
  50. */
  51. public function getVerificationAttr($value, $data)
  52. {
  53. $value = array_filter((array)json_decode($value, true));
  54. $value = array_merge(['email' => 0, 'mobile' => 0], $value);
  55. return (object)$value;
  56. }
  57. /**
  58. * 设置验证字段
  59. * @param mixed $value
  60. * @return string
  61. */
  62. public function setVerificationAttr($value)
  63. {
  64. $value = is_object($value) || is_array($value) ? json_encode($value) : $value;
  65. return $value;
  66. }
  67. public function group()
  68. {
  69. return $this->belongsTo('app\\common\\model\\UserGroup', 'group_id', 'id', [], 'LEFT')->setEagerlyType(0);
  70. }
  71. }