首先,定义一个用户模型:
package model
import "time"
type User struct {
Id int `orm:"id,primary"`
Name string `orm:"name"`
Age int `orm:"age"`
Birthday time.Time `orm:"birthday"`
}
// 表名
func (u *User) TableName() string {
return "user"
}
上述代码中,我们定义了一个 User 结构体,用于表示数据库中的用户表。每个字段上的 orm 标签用于指定数据库中对应的列名。
接下来,使用链式操作进行查询:
package main
import (
"fmt"
"github.com/gogf/gf/database/gdb"
"your_project/model"
)
func main() {
// 创建数据库连接
db := gdb.New()
// 查询用户数据
users, err := db.Model(&model.User{}).
Fields("id, name, age, birthday").
Where("age > ?", 18).
OrderBy("age DESC").
Limit(10).
All()
if err != nil {
fmt.Println("查询失败:", err)
return
}
// 处理查询结果
fmt.Println(users)
}
在上述代码中,我们使用了 Model 方法来指定要操作的模型,然后通过链式操作构建了一个查询语句,查询了年龄大于18岁的用户,按照年龄降序排列,并限制结果为10条记录。
通过这样的链式操作,你可以在查询中根据需要选择特定的字段、添加条件、排序和限制结果数量,使得代码更为灵活和可读。在实际应用中,你可以根据业务需求创建不同的模型,并使用链式操作构建出各种复杂的查询和更新操作。
转载请注明出处:http://www.zyzy.cn/article/detail/7632/GoFrame