Kotchasan Framework Documentation
Model Class - ฐานข้อมูลและโมเดล
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(): staticcreateQuery()
สร้าง Query Builder จาก Model
public static function createQuery(): \Kotchasan\QueryBuilder\QueryBuilderInterfacecreateDb()
สร้างและคืนค่า Database Connection Instance
public static function createDb(): DatabasePublic Methods
Transaction Management
จัดการ Transaction ของฐานข้อมูล
public function beginTransaction(): bool
public function commit(): bool
public function rollback(): boolQuery 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): InsertBuilderupdate()
สร้าง Update Query Builder
public function update(string $table): UpdateBuilderdelete()
สร้าง Delete Query Builder
public function delete(string $table): DeleteBuilderDatabase Helpers
raw()
ประมวลผลคำสั่ง SQL ดิบ (Raw SQL)
public function raw(string $sql, array $params = []): mixedlastInsertId()
คืนค่า ID ล่าสุดที่เพิ่งเพิ่มลงฐานข้อมูล
public function lastInsertId(): int|stringgetTableName()
รับชื่อตารางจริง (รวม Prefix)
public function getTableName(string $table): stringgetPrefix()
รับค่า Prefix ของตาราง
public function getPrefix(): stringgetDB()
รับ Database Instance โดยตรง
public function getDB(): Databaseขนาดไฟล์: 216 บรรทัด