קורס Node.JS שיעור תרגול Sequelize


זה נושא דיון מלווה לערך המקורי ב- https://www.tocode.co.il/bundles/nodejs/lessons/sequelize-lab

היי ינון, מה זה אומר הוסיפו למודל פונקצית מחלקה שמחזירה חדר לפי שם או יוצרת אותו כך שנוכל בקוד שלנו לכתוב:('const room = await db.Room.byName('music עשיתי את זה אבל הוא צועק TypeError: db.ChatRoom.byName is not a function אתה יכו ללעזור לי?

הי לא בטוח שאני יודע לעזור בלי לראות את הקוד, אבל בגדול ההודעה שהדבקת אומרת או שלא הגדרת את הפונקציה כמו שצריך

מה שאנחנו רוצים זה להוסיף פונקציית מחלקה ל Room. אני לא בטוח שהראיתי בוידאו איך לעשות את זה אבל יש הסבר במדריך כאן:
https://sequelizedocs.fullstackacademy.com/instance-and-class-methods/

לבסוף הצלחתי הנה הקוד במודל:

ChatRoom.byName = async function (name) {

    const [room, _] = await this.findOrCreate({ where: { name: name } });

    return room;

  }

אני פשוט הגדרתי את הפונקציה בתוך המחלקה ולא מבחוץ.

לייק 1

יינון למה התכוונת בסעיף 4 עם system? פשוט ליצור כמה הודעות ששייכות לחדר system ואז לדאוג שהם יאוחדו chatRoom?

כן הודעות מערכת צריכות להופיע בכל החדרים