Kotchasan Framework Documentation
QueryBuilder Overview
QueryBuilder Overview
QueryBuilder is a fluent interface for building SQL queries safely and clearly.
Table of Contents
Overview
| Class | Description |
|---|---|
| SelectBuilder | Build SELECT queries |
| InsertBuilder | Build INSERT queries |
| UpdateBuilder | Build UPDATE queries |
| DeleteBuilder | Build DELETE queries |
Basic Usage
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();Common Methods
where()
// Simple
->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
- SelectBuilder - For SELECT queries
- InsertBuilder - For INSERT queries
- UpdateBuilder - For UPDATE queries
- DeleteBuilder - For DELETE queries