สำหรับคนที่อยากสร้าง Class ของ Model นะ เผื่อแบบว่า จะทำอะไรกับ DB ก็ใช้ชื่อฟังก์ชั่นคล้าย ๆ กัน ทุก Model ก็อยากสร้างเป็น Class ต้นขึ้นมา แล้วอยากแก้อะไรค่อยทำแต่ละ Model แทน
สร้าง Class ParentModel
/** file: models/parentModel.js */ class ParentModel { table; constructor() {} async getAll() { return 'all Data'; } async getItem(id) { return 'item id 2'; } async insertItem(item) { return 'insert data' } async updateItem(id, item) { return 'update data'; } async deleteItem(id) { return 'delete data'; } } export default ParentModel;
สร้าง Class ChildModel
/** file: models/childModel.js */ import ParentModel from './parentModel' class ChildModel extends ParentModel { constructor() { super(); this.table = 't_childs'; } } export default ChildModel;
วิธีเรียกใช้งาน
/** file: pages/index.vue */ <script setup> import ChildModel from "@/models/childmodel"; const cmodel = new ChildModel(); const data = await cmodel.getAll(); </script> <template> แสดงข้อมุล </template>