Skip to content

Table Builder(链式查询) ​

通过 db.Table("表名") 创建 Builder 对象,支持链式调用进行 CRUD 操作。

创建 Builder ​

javascript
var builder = db.Table("users")

查询方法 ​

Select — 设置查询字段 ​

javascript
db.Table("users").Select("id, name, age").Get()

Where — 设置条件 ​

javascript
// 字符串条件
db.Table("users").Where("age > ?", 18).Get()

// 多条件
db.Table("users").Where("age > ? AND status = ?", 18, 1).Get()

Limit — 限制记录数 ​

javascript
db.Table("users").Limit(10).Get()

Offset — 设置偏移量 ​

javascript
db.Table("users").Offset(20).Limit(10).Get()

Order — 设置排序 ​

javascript
db.Table("users").Order("id DESC").Get()

Get — 获取所有记录 ​

javascript
var users = db.Table("users").Where("age > ?", 18).Get()
// 返回: [{id: 1, name: "张三"}, ...]

First — 获取第一条 ​

javascript
var user = db.Table("users").Where("id = ?", 1).First()
// 返回: {id: 1, name: "张三"}

Count — 统计记录数 ​

javascript
var count = db.Table("users").Where("age > ?", 18).Count()
// 返回: 42

Page — 分页查询 ​

javascript
var result = db.Table("users").Where("age > ?", 18).Page(1, 20)
// 返回: {list: [...], total: 42, page: 1, pageSize: 20}

写入方法 ​

Insert — 插入记录 ​

javascript
db.Table("users").Insert({
    name: "张三",
    age: 25,
    email: "zhangsan@example.com"
})

Update — 更新记录 ​

javascript
db.Table("users").Where("id = ?", 1).Update({
    name: "李四",
    age: 26
})

Delete — 删除记录 ​

javascript
db.Table("users").Where("id = ?", 1).Delete()

Increment — 字段值增加 ​

javascript
db.Table("users").Where("id = ?", 1).Increment("age", 1)

Decrement — 字段值减少 ​

javascript
db.Table("products").Where("id = ?", 100).Decrement("stock", 1)

Save — 保存(插入或更新) ​

javascript
db.Table("users").Save({
    id: 1,
    name: "张三",
    age: 25
})

完整示例 ​

javascript
// 查询年龄大于 18 的用户,按 ID 降序,取前 10 条
var users = db.Table("users")
    .Select("id, name, age, email")
    .Where("age > ?", 18)
    .Order("id DESC")
    .Limit(10)
    .Get()

// 分页查询
var page = db.Table("users")
    .Where("status = ?", 1)
    .Order("created_at DESC")
    .Page(1, 20)

// 插入新用户
db.Table("users").Insert({
    name: "张三",
    age: 25,
    email: "zhangsan@example.com",
    status: 1
})

// 更新用户信息
db.Table("users").Where("id = ?", 1).Update({
    name: "李四",
    age: 26
})

// 删除用户
db.Table("users").Where("id = ?", 1).Delete()

注意事项 ​

  • Where 条件必须在使用 Update、Delete 之前设置,防止误操作全表更新/删除
  • 链式调用不会立即执行,直到调用 Get、First、Count、Insert、Update、Delete 等终止方法
  • Save 方法根据主键判断是插入还是更新

版权所有.