Link Search Menu Expand Document

Database

class database สร้างขึ้นเพื่อช่วยให้การทำงานร่วมกับ Sequelize ง่ายมากขึ้นโดยสามารถเรียกใช้ใน controller ได้ผ่าน this.db

Usage

Setting

วิธีใช้งาน Database ให้ตั้งค่าฐานข้อมูลที่ต้องการเชื่อมต่อก่อน โดยสามารถใส่ได้มากกว่าหนึ่งฐานข้อมูล แต่ตัวที่ถูกเรียกใช้งานจะเป็น default ก่อนเสมอสามารถอ่านเพิ่มเพิ่มได้ ที่นี่

Engine.set(
    {
        ...
        database: {
          default: {
            engine: 'mysql',
            hostname: 'localhost',
            port: '3306',
            username: 'admin',
            password: '',
            database: 'blog',
            limit: '10'
          }
        }
        ...
    }
)

Model Generator

Noob Engine ใช้ Sequelize Auto ในการสร้างโมเดลอัตโนมัติตามฐานข้อมูล หรือสร้างฐานข้อมูลอัตโนมัติตามโมเดล โดยมีตัวอย่างการใช้งานดังนี้ เพิ่มเติม

  • model
  • config
    database: {
      default: {
          ...
          migration: {
              enable: true,
              force: false,
              dir: 'model',
              additional: {
                  timestamps: false,
                  createdAt: true,
                  updatedAt: true,
                  force: true
              }
          },
      }
    }
    

Method

select()

คิวรี่ข้อมูลจากตารางใดๆ ก็ได้ตาม พร้อม pagination

Parameter

Name Type Attribute Description
select string require ฟิลด์ที่ต้องการ select
table string require ตารางที่ต้องการ
page int   page ที่ต้องการคิวรี่
condition string   เงื่อนไขที่ต้องการคิวรี่
groupBy string   group by อะไร

loadModel()

ดาวโหลดโมเดลอื่นๆ นอกจาก default model เข้าสู่ controller

Parameter

Name Type Attribute Description
name string require ชื่อโมเดลที่ต้องการเรียกใช้งาน
//noob controller
    let MyModel = this.db.loadModel('blog') 
    let data = MyModel.findAll()
    ...

Parameter

Name Type Attribute Description
name string require ชื่อโมเดลที่ต้องการดาวโหลดเข้ามา

isAlive()

เช็คว่าสามารถเชื่อมต่อฐานข้อมูลได้หรือไม่