123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <?php
- namespace app\common\model;
- use think\Model;
- use traits\model\SoftDelete;
- /**
- * 会员模型
- */
- class User extends Model
- {
- use SoftDelete;
- // 开启自动写入时间戳字段
- protected $autoWriteTimestamp = 'int';
- // 定义时间戳字段名
- protected $createTime = 'createtime';
- protected $updateTime = 'updatetime';
- protected $deleteTime = 'deletetime';
- // 追加属性
- protected $append = [
- 'url',
- ];
- public static function init()
- {
- parent::init();
- }
- /**
- * 获取个人URL
- * @param string $value
- * @param array $data
- * @return string
- */
- public function getUrlAttr($value, $data)
- {
- return "/u/" . $data['id'];
- }
- /**
- * 关联上级用户
- */
- public function parent_user()
- {
- return $this->belongsTo('app\common\model\User', 'parent_user_id', 'id')
- ->field('id,nickname,avatar,mobile');
- }
- /**
- * 别名关联上级用户(支持驼峰命名)
- */
- public function parentUser()
- {
- return $this->parent_user();
- }
- // /**
- // * 获取头像
- // * @param string $value
- // * @param array $data
- // * @return string
- // */
- // public function getAvatarAttr($value, $data)
- // {
- // return $value ? $value : '/assets/img/avatar.png';
- // }
- /**
- * 获取验证字段数组值
- * @param string $value
- * @param array $data
- * @return object
- */
- public function getVerificationAttr($value, $data)
- {
- $value = array_filter((array)json_decode($value, true));
- $value = array_merge(['email' => 0, 'mobile' => 0], $value);
- return (object)$value;
- }
- /**
- * 设置验证字段
- * @param mixed $value
- * @return string
- */
- public function setVerificationAttr($value)
- {
- $value = is_object($value) || is_array($value) ? json_encode($value) : $value;
- return $value;
- }
- public function group()
- {
- return $this->belongsTo('app\\common\\model\\UserGroup', 'group_id', 'id', [], 'LEFT')->setEagerlyType(0);
- }
- }
|