Starting Queries
Queries are built using a fluent, chainable API. All operations start from a model instance.
Users.Get() // SELECT
Users.Create() // INSERT
Users.Update() // UPDATE
Fetching Data (SELECT)
// Fetch all rows
results, err := Users.Get().Fetch()
// Fetch with condition
results, err := Users.Get().
Where(Users.Fields.UserName).
Is("alice").
Fetch()
// Fetch a single row
user, err := Users.Get().
Where(Users.Fields.UserId).
Is("u123").
First()
Creating Records (INSERT)
err := Users.Create().
Set(Users.Fields.UserId).To("u123").
Set(Users.Fields.UserName).To("alice").
Set(Users.Fields.Password).To("securepass").
Exec()
Updating Records (UPDATE)
// Update with WHERE
err := Users.Get().
Where(Users.Fields.UserId).
Is("u123").
Set(Users.Fields.Password).
To("newpass").
Exec()
// Using Update()
err := Users.Update(nil).
Where(Users.Fields.UserId).
Is("u123").
Set(Users.Fields.Password).
To("updated").
Exec()
Deleting Records (DELETE)
// Delete matching rows
err := Users.Get().
Where(Users.Fields.UserId).
Is("u123").
Delete()
WHERE Conditions
Is(value)
IsNot(value)
GreaterThan(value)
LessThan(value)
GreaterThanOrEqual(value)
LessThanOrEqual(value)
Like(pattern)
In(values...)
NotIn(values...)
Between(min, max)
IsNull()
IsNotNull()
Combining Conditions
Users.Get().
Where(Users.Fields.UserName).Is("alice").
And().
Where(Users.Fields.UserId).Is("u123")
Users.Get().
Where(Users.Fields.FirstName).Is("Alice").
Or().
Where(Users.Fields.FirstName).Is("Bob")
Sorting & Grouping
OrderBy("createdAt DESC")
GroupBy("status")
Pagination
Limit(20)
Offset(40)
// Page helper (1-indexed)
Page(2, 20)
Executing Queries
Fetch() // returns []map[string]interface{}
First() // returns map[string]interface{}
Exec() // INSERT / UPDATE
Delete() // DELETE