Kotchasan Framework Documentation

Kotchasan Framework Documentation

QueryBuilder Overview

TH 05 Feb 2026 06:23

QueryBuilder Overview

QueryBuilder เป็นระบบ fluent interface สำหรับสร้าง SQL queries ได้อย่างปลอดภัยและชัดเจน

สารบัญ

  1. ภาพรวม
  2. Builder Classes
  3. การใช้งานพื้นฐาน
  4. ตัวอย่าง

ภาพรวม

Class คำอธิบาย
SelectBuilder สร้าง SELECT queries
InsertBuilder สร้าง INSERT queries
UpdateBuilder สร้าง UPDATE queries
DeleteBuilder สร้าง DELETE queries

การใช้งานพื้นฐาน

use Kotchasan\Database;

$db = Database::create();

// SELECT
$users = $db->select('*')
    ->from('users')
    ->where(['status', 'active'])
    ->orderBy('name')
    ->fetchAll();

// INSERT
$db->insert('users')
    ->values(['name' => 'John', 'email' => 'john@example.com'])
    ->execute();

// UPDATE
$db->update('users')
    ->set(['status' => 'inactive'])
    ->where(['id', 1])
    ->execute();

// DELETE
$db->delete('users')
    ->where(['id', 1])
    ->execute();

เมธอดทั่วไป

where()

// แบบง่าย
->where(['column', 'value'])

// Multiple conditions
->where(['status', 'active'])
->where(['created_at', '>', '2024-01-01'])

// Array format
->where([
    ['status', '=', 'active'],
    ['role', '=', 'admin']
])

orderBy() / groupBy()

->orderBy('name')
->orderBy('created_at', 'DESC')
->groupBy('category')

limit()

->limit(10)
->limit(10, 20)

join()

->join('orders O', 'users.id = O.user_id')
->leftJoin('profiles P', 'users.id = P.user_id')
->rightJoin('addresses A', 'users.id = A.user_id')

Builder Classes