假设有一个模型 User:
package model
type User struct {
Id int
Name string
Age int
}
对象输入示例
package main
import (
"fmt"
"github.com/gogf/gf/database/gdb"
"your_project/model"
)
func main() {
// 创建数据库连接
db := gdb.New()
// 构建对象输入条件
condition := model.User{
Age: 25,
}
// 链式操作,使用对象输入条件
result, err := db.Model(&model.User{}).
Fields("id, name, age").
Where(condition).
OrderBy("age DESC").
Limit(10).
All()
if err != nil {
fmt.Println("查询失败:", err)
return
}
// 处理查询结果
fmt.Println(result)
}
在上述代码中,我们创建了一个 model.User 类型的结构体实例 condition,并通过设置结构体的字段值来指定查询条件。然后,在链式操作中使用 Where 方法并传递该结构体实例,ORM 会根据结构体字段的值构建查询条件。
这种方式使得查询条件的构建更为直观和类型安全,减少了手动拼接字符串的错误可能性。你可以根据实际需求设置结构体的字段值,从而构建不同的查询条件。
转载请注明出处:http://www.zyzy.cn/article/detail/7647/GoFrame