auth包里的使用了user模型的Get()方法和GetByEmail()方法,这里如何创建的?

auth包里的使用了user模型的Get()方法和GetByEmail()方法,前面章节并没有说明如何创建的,是写漏了吗?

func User() user.User {
    uid := _getUID()
    if len(uid) > 0 {
        _user, err := user.Get(uid)
        if err == nil {
            return _user
        }
    }
    return user.User{}
}
.
.
.
func Attempt(email string, password string) error {
    // 1. 根据 Email 获取用户
    _user, err := user.GetByEmail(email)
    .
    .
    .
}
最佳答案

自己在user包的crud.go文件里加上了这两个方法

// Get 获取用户
func Get(uid string) (User, error) {
    var _user User
    id := types.StringToInt(uid)
    if err := model.DB.First(&_user, id).Error; err != nil {
        return _user, err
    }
    return _user, nil
}

// GetByEmail 按邮箱获取用户
func GetByEmail(email string) (User, error) {
    var user User
    if err := model.DB.Where("email = ?", email).First(&user).Error; err != nil {
        return user, err
    }
    return user, nil
}

编译通过了

3年前 评论
讨论数量: 1

自己在user包的crud.go文件里加上了这两个方法

// Get 获取用户
func Get(uid string) (User, error) {
    var _user User
    id := types.StringToInt(uid)
    if err := model.DB.First(&_user, id).Error; err != nil {
        return _user, err
    }
    return _user, nil
}

// GetByEmail 按邮箱获取用户
func GetByEmail(email string) (User, error) {
    var user User
    if err := model.DB.Where("email = ?", email).First(&user).Error; err != nil {
        return user, err
    }
    return user, nil
}

编译通过了

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!