Gorm 查询时忽略掉默认的 deleted_at

9 min read

在 Gorm 中,若需要完全忽略掉默认的 deleted_at 字段,在查询时可以使用 Unscoped() 方法。该方法将忽略掉软删除标志,并返回没有被软删除的所有记录。

例如:

// 查询所有未被软删除的用户记录
var users []User
db.Unscoped().Find(&users)

注意:使用 Unscoped() 方法会忽略掉所有软删除标志,因此需要谨慎使用。如果你只是想查询特定条件下的未被软删除的记录,建议使用 Where() 方法来指定查询条件。例如:

// 查询名字包含 "Tom" 的未被软删除的用户记录
var users []User
db.Where("name LIKE ?", "%Tom%").Find(&users)