gorm的First、Find、Raw与Scan

发布时间 2023-08-23 16:43:39作者: 李若盛开

使用First,Take,Last 进行单条查找,First根据主键正序,Last 根据主键倒序

Find查询结果是列表,First查询的是单条数据。

Raw

  • 中文:原生的

作用:在写gorm语句时候用来写Raw sql语句(原生sql语句)

在使用Raw自定义SQL查询时,使用Scan来接收数据,虽然Find也是可以接收的,但是Find主要还是用来带条件查询的,链接到Raw后面时条件是不起作用的。所以用Scan函数单纯的接收数据就行了【不能加条件】。

Scan:

type Result struct {
  Name string
  Age  int
}

var result Result
db.Table("users").Select("name", "age").Where("name = ?", "Antonio").Scan(&result)

// Raw SQL
db.Raw("SELECT name, age FROM users WHERE name = ?", "Antonio").Scan(&result

注意点:一般写联表查询的时候,会用scan