gorm的First、Find、Raw与Scan
使用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