当没有行时 RecordNotFound 返回 false

2024-03-18

我有问题这个图书馆 https://godoc.org/github.com/jinzhu/gorm#DB.RecordNotFound因为即使给定的输入不在数据库中,该函数也会返回 false,而实际上它应该返回 true。

type User struct {
    ID          uint      `gorm:"primary_key"`
    Username    string    `json:",omitempty"`
    Password    string    `json:",omitempty"`
    CreatedAt   time.Time `json:",omitempty"`
}

b, err := db.Con()
if err != nil {
    log.Panic(err)
}

defer db.Close()

// We want an empty struct
// Otherwise it will trigger the unique key constraint
user := []User{}

// Check if the username is taken
// BUX, MUST FIX: This always returns false for some reason
if db.Where(&User{Username: "MyUsername"}).Find(&user).RecordNotFound() == false {
    fmt.Println("Username found")
}

为什么它总是返回 false,即使字符串为空?


好像.RecordNotFound() 由于某种原因从 SDK 中删除。

现在用它来处理记录未找到错误

dbRresult := userHandler.db.Where("email = ?", email).First(&user)
if errors.Is(dbRresult.Error, gorm.ErrRecordNotFound) {
    // handle record not found
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当没有行时 RecordNotFound 返回 false 的相关文章

  • 从私钥中提取公钥

    我尝试通过以下方式以编程方式完成步骤 2 1 openssl genrsa out signing pem 2048 2 openssl rsa in signing pem outform PEM pubout out signing p
  • 是否可以从 JS 显式调用导出的 Go WebAssembly 函数?

    是否可以调用 Go WebAssembly 函数 除了main 在 JavaScript 中 让我先展示一下我做了什么 我的Go函数定义如下 package main import fmt func main fmt Println it
  • 如何将 interface{} 转换回其原始结构?

    我需要一种方法将结构 接口动态转换回其原始对象 我可以在里面添加方法 函数 基本上我需要这样的东西 MyStruct gt Interface gt MyStruct 在最终转换时 除了结构内部的内容之外 我对原始结构一无所知 所以我不能这
  • 在 docker build 中缓存“go get”

    我想将 golang 单元测试封装在 docker compose 脚本中 因为它依赖于多个外部服务 我的应用程序有很多依赖项 因此需要一段时间go get 如何以允许构建 docker 容器的方式缓存包 而无需每次要测试时下载所有依赖项
  • 为什么空切片有 24 个字节?

    我想了解创建空切片时会发生什么make int 0 我执行此代码进行测试 emptySlice make int 0 fmt Println len emptySlice fmt Println cap emptySlice fmt Pri
  • 在 Golang Server 中接受持久的 tcp 连接

    我正在尝试使用 Go 并且想创建一个 TCP 服务器 我可以通过 telnet 访问该服务器 发送命令并接收响应 const CONN HOST localhost CONN PORT 3333 CONN TYPE tcp func mai
  • 如何获取字段类型的零值

    我有一个包含许多字段的结构 我已经弄清楚如何使用反射提取字段名称 值和标签信息 我还想做的是确定字段的值是否与字段的默认值不同 目前 我有这个 有效 但有点臭 qsMap make map string interface var defa
  • 如何访问 Go 中的嵌套模块(子模块)?

    去版本 1 12 9 这是一个简单演示项目的结构 所以我们有一个模块domain 其中包含两个模块 activity and person 我想将域与主文件中的所有嵌套模块一起使用 gt 模块 go 我知道如何导入domain主要在go m
  • 在 Go 中获取机器 epsilon 的最简单方法

    在 Go 中获取机器 epsilon 的最简单方法是什么 浮点数的其他方面 例如精度 最小指数 最大指数 摆动等 又如何呢 我意识到有一个 math const 包 其中包含不同浮点类型的最大值和最小值 http golang org sr
  • Golang 中的“相互”包导入

    是否可以在 Golang 中执行 相互 包导入之类的操作 举例来说 我有两个包 A 和 B 分别具有 AFunc 和 BFunc BFunc2 函数 package A import B func AFunc do stuff but al
  • mysql 查询中的 golang 切片,带有 where in 子句

    我正在运行以下查询 但只获取第一个 id 值 select from table where table id in 1 2 3 4 5 6 7 9 11 13 14 15 17 and table deleted at is null 我
  • foo.Name undefined(类型接口{}没有字段或方法名称)

    我使用本机 golang 包 container list 来管理堆栈中的 inotify 事件 当我访问堆栈的项目时 我的类型失败 我认为 import golang org x exp inotify container list lo
  • golang:使用 gin 路由器服务 net.Conn

    我有一个处理传入 TCP 连接的函数 func Handle conn net Conn error 另外 我有一个初始化的 gin 路由器 带有已实现的句柄 router gin New router GET router POST Th
  • 当所有通道都关闭时中断 select 语句

    我有两个独立生成数据的 goroutine 每个将其发送到一个通道 在我的主 goroutine 中 我想在每个输出进入时使用它们 但不关心它们进入的顺序 每个通道在耗尽其输出时都会自行关闭 虽然 select 语句是像这样独立使用输入的最
  • 使用 MongoDB Atlas 时 mongo-go-driver 因服务器选择超时而失败

    去版本 1 12 5 我有这个使用 node js mongo 驱动程序的代码 const MongoClient require mongodb MongoClient const uri process env MONGO HOST d
  • 如何通过模板中的变量访问对象字段?

    我有一个嵌套循环 columns columns range dx dataList range c columns index dx c end end dataList是orm模型数组 和ID Title字段 那么columns is
  • golang从sdin扫描一行数字

    我正在尝试从标准输入读取输入 3 2 1
  • 无需时间即可生成随机字符串?

    我知道如何使用 Runes 和播种 rand Init 在 go 中生成随机字符串time UnixNano 我的问题是 是否可以 使用 stdlib 在不使用当前时间戳 安全 的情况下播种 rand 此外 我问 因为仅仅依靠时间来为敏感操
  • ReverseProxy取决于golang中的request.Body

    我想构建一个 http 反向代理 它检查 HTTP 主体 然后将 HTTP 请求发送到它的上游服务器 你怎么能在 Go 中做到这一点 初始尝试 如下 失败 因为 ReverseProxy 复制传入请求 修改它并发送 但正文已被读取 func
  • 从 []byte 到 char*

    我想包装一个 C 函数 它需要一个char 指向非空字节缓冲区 的第一个元素 我正在尝试使用 CGo 将其包装在 Go 函数中 以便我可以将其传递给 byte 但我不知道如何进行转换 C 函数签名的简化版本是 void foo char c

随机推荐

  • 如何在sql server中的列中存储多个值

    我正在创建职位申请 在我的第一个表中 列是这是我的主表 ID Position jobDescription minExp maxExp LastDate InterviewDate Project HiringManager interv
  • 禁止 GCC 下的不兼容指针类型特定警告

    在 GCC 下的代码中 我收到了很多这两种类型的警告 warning passing argument 1 of foo from incompatible pointer type and warning assignment from
  • Android加载动画

    我正在寻找一些有关如何在 android 中创建加载动画的信息 是否可以创建这个动画 我可以在一个线程中调用这个动画并在另一个线程中结束 我正在寻找这个 尝试下面的代码 显示进度对话框 ProgressDialog mDialog new
  • .NET 泛型术语 - 开放/封闭、未绑定/构造

    NET 泛型术语有点含糊 更糟糕的是 它似乎在不同的来源中被模糊且不同地使用 基本上不清楚的是这 4 个术语之间的关系 与 类型 相关 open closed unbound 建 我明白那个List
  • 每个面有 K 个顶点的 3D 点的三角测量

    我正在使用 Three js 我有一个收藏3D点 x y z 和面的集合 一张脸是由K points 它可以是凸的 也可以是凹的 我在 Three js 文档中找不到任何可以帮助我的内容 一种解决方案可能是对这些形状进行三角测量 但到目前为
  • 如何在 swift 中检查两个实例是否具有相同的类/类型

    我知道我可以检查 Swift 中 var 的类型is if item is Movie movieCount 1 else if item is Song songCount 1 但我如何检查两个实例是否具有相同的类 以下不起作用 if i
  • Atlas 上的 Mongoose 与 ReplicaSet

    我在 MongoDB Atlas 上有一个副本集 这是我的 mongo shell 连接字符串 可以完美连接 mongo mongodb MY SERVER shard 00 00 clv3h mongodb net 27017 MY SE
  • 如何利用 .woff 字体的浏览器缓存?

    在 PageSpeed Insights 中 我不断看到利用浏览器缓存我正在使用的特定图标集 字体的消息 iconFont woff 2 天 我已将 htaccess 设置为 EXPIRES CACHING
  • 当我必须使用 Intents 时,createChooser 是什么?我可以用这个方法做什么?

    我一直在查看 stackoverflow 但我没有找到关于什么是 createChooser 的定义以及为什么我可以使用它以及在哪种情况下最好使用它 提前致谢 例如 您的应用程序中有一个共享图片选项 您定义这样的意图 Intent picM
  • 在 docker 微服务设置中运行 django rq 的正确方法

    我猜我的 docker 容器设置有问题 因为每次我从 django 运行任务时 我都会在 docker 容器输出中看到ps aux创建了新进程python mange py rqworker mail而不是使用现有的 请参阅截屏视频 htt
  • 如何根据php中的创建日期从目录中删除文件?

    我有一个存储 html 文件的缓存文件夹 它们会在需要时被覆盖 但很多时候 很少使用的页面也会缓存在其中 最终会占用空间 5 周后 驱动器已满 有超过 270 万个缓存文件 循环遍历包含数十万个文件的目录并删除超过 1 天的文件的最佳方法是
  • Android:处理下载数据时意外的互联网断开连接

    我这里有一个将数据从远程服务器下载到文件的功能 我对我的代码仍然没有信心 我的问题是 如果在读取流并将数据保存到文件时突然与互联网断开连接 下面的这些捕获异常是否真的可以捕获此类事件 如果没有 您能建议如何处理此类事件吗 注意 我在一个线程
  • XML 模式到 C++ 类 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我必须编写一个 C 应用程序 使用 GUI 的 Qt 框架 它可以编辑存储在 xsd 架构文件描述的
  • C++11:按值调用、移动语义和继承

    假设我有一个类 我计划直接将其公开为可实例化类 给程序员 class Base public Base std string text m text std move text private std string m text 到目前为止
  • 二维码数据格式的规范是什么?我在任何地方都找不到它

    我特别想问的是 规格是否以及是什么 设置 QR 码内文本的格式 不是如何生成代码 我可以做到 我需要将 hCard 数据放入 QR 码中 但是我不知道如何将 QR 码标记为 VCF 数据 相对于 URL 文本等 以便解码器知道该怎么做 我在
  • 在 iOS 10 中添加本地通知 - Swift 3

    所以我一直在尝试向新的 UNUserNotificationCenter 添加通知 但我似乎没有得到它 我的视图控制器有一个操作 IBAction func sendPressed sender AnyObject let content
  • 如何获取设备令牌

    安装完成后 我需要获取 deviceToken 以用于其他目的 这是我到目前为止所开发的 Parse initialize this qqd423WEfwWEF32FewferT434fs323rfRT g7Rre4g7gsGRwgGw45
  • 忽略特定列表排序器的排序

    我可以忽略 jquery 表排序插件中特定列的排序吗 因此 基本上 当页面加载时 我不希望在 搜索 列上进行任何排序 因为它包含图像并自行进行一些 JavaScript 处理 这会大大减慢我的排序速度 这是我的代码
  • window.parent.location.href 或 window.top.location 哪一种更好

    我正在一个项目中工作 在特定情况下我必须在错误页面上重定向 为此 我创建了 Error aspx 页面 现在我正在使用 window top location href Error aspx 并生成http localhost app we
  • 当没有行时 RecordNotFound 返回 false

    我有问题这个图书馆 https godoc org github com jinzhu gorm DB RecordNotFound因为即使给定的输入不在数据库中 该函数也会返回 false 而实际上它应该返回 true type User