Bunary is v0.x and under active development — APIs may still move between minor releases.

    Query Builder

    The ORM provides a fluent query builder interface for building database queries.

    Basic Queries

    // Find by ID
    const user = await Model.table("users").find(1);
    
    // Get all records
    const users = await Model.table("users").all();
    
    // Select specific columns
    const users = await Model.table("users")
      .select("id", "name", "email")
      .all();
    
    // Exclude sensitive fields
    const users = await Model.table("users")
      .exclude("password", "secret_key")
      .all();
    

    Filtering Records

    Filter records using the where method:

    // Filter records
    const activeUsers = await Model.table("users")
      .where("status", "=", "active")
      .all();
    

    Ordering and Limiting

    Order and limit query results:

    // Order and limit
    const recentUsers = await Model.table("users")
      .orderBy("createdAt", "desc")
      .limit(10)
      .all();
    

    Common Patterns

    Pagination

    const page = 1;
    const perPage = 10;
    
    const users = await User
      .offset((page - 1) * perPage)
      .limit(perPage)
      .all();
    

    Counting Records

    const totalUsers = await User.count();
    const activeCount = await User.where("status", "=", "active").count();
    

    Getting First Record

    const firstUser = await User.first();
    const latestUser = await User.orderBy("createdAt", "desc").first();
    

    Last updated