[Nuxt 3] สร้าง Class สำหรับ Model


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

0 0 votes
Article Rating
0
Would love your thoughts, please comment.x
()
x