All 方法
All 方法用于查询并返回所有符合条件的记录。返回的结果是一个切片,每个元素是一个 gdb.Record,其中包含了查询结果的字段和值。
package main
import (
"fmt"
"github.com/gogf/gf/database/gdb"
"your_project/model"
)
func main() {
// 创建数据库连接
db := gdb.New()
// 查询所有符合条件的记录
result, err := db.Model(&model.User{}).
Fields("id, name, age").
Where("age > ?", 18).
OrderBy("age DESC").
All()
if err != nil {
fmt.Println("查询失败:", err)
return
}
// 处理查询结果
for _, record := range result {
fmt.Println(record["id"].Int(), record["name"].String(), record["age"].Int())
}
}
One 方法
One 方法用于查询并返回符合条件的第一条记录。返回的结果是一个 gdb.Record,同样包含了查询结果的字段和值。
package main
import (
"fmt"
"github.com/gogf/gf/database/gdb"
"your_project/model"
)
func main() {
// 创建数据库连接
db := gdb.New()
// 查询符合条件的第一条记录
record, err := db.Model(&model.User{}).
Fields("id, name, age").
Where("age > ?", 18).
OrderBy("age DESC").
One()
if err != nil {
fmt.Println("查询失败:", err)
return
}
// 处理查询结果
fmt.Println(record["id"].Int(), record["name"].String(), record["age"].Int())
}
Array 方法
Array 方法用于查询并返回符合条件的记录的某个字段的切片。这个方法适用于查询某一列的数据。
package main
import (
"fmt"
"github.com/gogf/gf/database/gdb"
"your_project/model"
)
func main() {
// 创建数据库连接
db := gdb.New()
// 查询符合条件的记录的某个字段的切片
names, err := db.Model(&model.User{}).
Fields("name").
Where("age > ?", 18).
OrderBy("age DESC").
Array()
if err != nil {
fmt.Println("查询失败:", err)
return
}
// 处理查询结果
fmt.Println(names)
}
Value 方法
Value 方法用于查询并返回符合条件的记录的某个字段的值。如果查询结果有多条记录,该方法只返回第一条记录的该字段的值。
package main
import (
"fmt"
"github.com/gogf/gf/database/gdb"
"your_project/model"
)
func main() {
// 创建数据库连接
db := gdb.New()
// 查询符合条件的记录的某个字段的值
name, err := db.Model(&model.User{}).
Fields("name").
Where("age > ?", 18).
OrderBy("age DESC").
Value()
if err != nil {
fmt.Println("查询失败:", err)
return
}
// 处理查询结果
fmt.Println(name)
}
Count 方法
Count 方法用于查询符合条件的记录的数量。
package main
import (
"fmt"
"github.com/gogf/gf/database/gdb"
"your_project/model"
)
func main() {
// 创建数据库连接
db := gdb.New()
// 查询符合条件的记录的数量
count, err := db.Model(&model.User{}).
Where("age > ?", 18).
Count()
if err != nil {
fmt.Println("查询失败:", err)
return
}
// 处理查询结果
fmt.Println("符合条件的记录数量:", count)
}
这些方法可以根据具体的需求选择不同的返回结果类型,使得查询结果更容易被处理和使用。
转载请注明出处:http://www.zyzy.cn/article/detail/7637/GoFrame