Where 方法
Where 方法用于添加查询条件,可以通过多次调用 Where 方法来连接多个条件,这些条件之间默认为 AND 关系。
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).
Where("name LIKE ?", "%John%").
OrderBy("age DESC").
Limit(10).
All()
if err != nil {
fmt.Println("查询失败:", err)
return
}
// 处理查询结果
fmt.Println(result)
}
在上述代码中,我们使用了两次 Where 方法,分别添加了年龄大于18和名字包含"John"的查询条件。
WhereOr 方法
WhereOr 方法用于添加 OR 关系的查询条件,可以通过多次调用 WhereOr 方法来连接多个 OR 条件。
package main
import (
"fmt"
"github.com/gogf/gf/database/gdb"
"your_project/model"
)
func main() {
// 创建数据库连接
db := gdb.New()
// 链式操作条件查询(使用 WhereOr)
result, err := db.Model(&model.User{}).
Fields("id, name, age").
WhereOr("age > ?", 18).
WhereOr("name LIKE ?", "%John%").
OrderBy("age DESC").
Limit(10).
All()
if err != nil {
fmt.Println("查询失败:", err)
return
}
// 处理查询结果
fmt.Println(result)
}
在上述代码中,我们使用了 WhereOr 方法,添加了一个 OR 关系的查询条件,即查询年龄大于18或名字包含"John"的用户。
WhereNot 方法
WhereNot 方法用于添加 NOT 关系的查询条件,即排除满足条件的记录。
package main
import (
"fmt"
"github.com/gogf/gf/database/gdb"
"your_project/model"
)
func main() {
// 创建数据库连接
db := gdb.New()
// 链式操作条件查询(使用 WhereNot)
result, err := db.Model(&model.User{}).
Fields("id, name, age").
WhereNot("age > ?", 18).
OrderBy("age DESC").
Limit(10).
All()
if err != nil {
fmt.Println("查询失败:", err)
return
}
// 处理查询结果
fmt.Println(result)
}
在上述代码中,我们使用了 WhereNot 方法,添加了一个 NOT 关系的查询条件,即排除年龄大于18的用户。
这些方法可以根据需要组合使用,构建出复杂的查询条件。通过链式操作,你能够更清晰地表达出查询的逻辑关系。
转载请注明出处:http://www.zyzy.cn/article/detail/7636/GoFrame