สำหรับคนที่อยากสร้าง 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>
