Kotchasan Framework Documentation

Kotchasan Framework Documentation

Model Class - ฐานข้อมูลและโมเดล

TH 05 Feb 2026 02:15

Model Class - ฐานข้อมูลและโมเดล

คลาส Model ทำหน้าที่เป็น Base Class สำหรับการจัดการข้อมูลในรูปแบบ ORM (Object-Relational Mapping) แบบง่าย เป็นตัวกลางในการเชื่อมต่อกับฐานข้อมูลและสร้าง Query Builder

Namespace

Kotchasan\Model

การใช้งาน

คลาส Model ถูกออกแบบมาให้สืบทอด (Inherit) ไปใช้งานในคลาสอื่นๆ เพื่อจัดการ Logic ธุรกิจและการเข้าถึงข้อมูล

class UserModel extends \Kotchasan\Model
{
    protected $conn = 'myshop'; // กำหนดชื่อการเชื่อมต่อ (ถ้าไม่ใช้ default)

    public function getUser($id)
    {
        return $this->db()->select()->from('user')->where(['id', $id])->first();
    }
}

Properties

$db

ตัวแปรเก็บ Instance ของ Kotchasan\Database

  • Visibility: protected

$conn

ชื่อของการเชื่อมต่อฐานข้อมูล (Database Connection Name) ตามที่ตั้งค่าไว้ใน Config

  • Default: 'default'
  • Visibility: protected (สามารถ Override ใน Subclass ได้)

Static Methods

create()

สร้าง Instance ของ Model

public static function create(): static

createQuery()

สร้าง Query Builder จาก Model

public static function createQuery(): \Kotchasan\QueryBuilder\QueryBuilderInterface

createDb()

สร้างและคืนค่า Database Connection Instance

public static function createDb(): Database

Public Methods

Transaction Management

จัดการ Transaction ของฐานข้อมูล

public function beginTransaction(): bool
public function commit(): bool
public function rollback(): bool

Query Builders

เมธอดสำหรับเริ่มสร้าง Query ในรูปแบบต่างๆ

select()

สร้าง Select Query Builder

public function select(mixed ...$columns): SelectBuilder

ตัวอย่าง:

$query = $model->select('id', 'name', 'email');
// หรือ
$query = $model->select(); // Select *

insert()

สร้าง Insert Query Builder

public function insert(string $table): InsertBuilder

update()

สร้าง Update Query Builder

public function update(string $table): UpdateBuilder

delete()

สร้าง Delete Query Builder

public function delete(string $table): DeleteBuilder

Database Helpers

raw()

ประมวลผลคำสั่ง SQL ดิบ (Raw SQL)

public function raw(string $sql, array $params = []): mixed

lastInsertId()

คืนค่า ID ล่าสุดที่เพิ่งเพิ่มลงฐานข้อมูล

public function lastInsertId(): int|string

getTableName()

รับชื่อตารางจริง (รวม Prefix)

public function getTableName(string $table): string

getPrefix()

รับค่า Prefix ของตาราง

public function getPrefix(): string

getDB()

รับ Database Instance โดยตรง

public function getDB(): Database

ขนาดไฟล์: 216 บรรทัด