Sequelize에서 모델 연결을 만드는 방법 - JS/Node JS 표현
더 진행하기 전에 전체 기능 코드 설정을 위한 설정을 받으려는 경우here it is
이해를 돕기 위해 모델 디렉토리 내에 있는 두 개의 모델(models/author.js 및 models/post.js)을 고려해 보겠습니다. 모델은 각각 다음과 같습니다.
작성자 모델
'use strict';
const {
Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
class Author extends Model {
/**
* Helper method for defining associations.
* This method is not a part of Sequelize lifecycle.
* The `models/index` file will call this method automatically.
*/
static associate(models) {
// define association here
}
};
Author.init({
slug: DataTypes.STRING,
name: DataTypes.STRING,
}, {
sequelize,
modelName: 'Author',
tableName: 'authors',
});
return Author;
};
포스트 모델
'use strict';
const {
Model,
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
class Post extends Model {
/**
* Helper method for defining associations.
* This method is not a part of Sequelize lifecycle.
* The `models/index` file will call this method automatically.
*/
static associate(models) {
this.belongsTo(models.Author, {as: 'Author'});
}
}
Post.init({
slug: DataTypes.STRING,
title: DataTypes.STRING,
excerpt: DataTypes.STRING
}, {
sequelize,
modelName: 'Post',
tableName: 'posts',
});
return Post;
};
게시물 모델에서 볼 수 있듯이 게시물과 작성자 간에 소속 관계가 만들어집니다. 그러나 의견에서 알 수 있듯이 연결 방법은 Sequelize 수명 주기의 일부가 아닙니다. 수동으로 호출해야 합니다.
이를 달성하려면 다음 내용으로 *models/index.js를 생성해야 합니다.
index.js
const Sequelize = require("sequelize");
/**
* Database Connection.
**/
const {sequelize, DataTypes} = require('../config/connection')
const Post = require("../models/post")(sequelize, DataTypes);
const Author = require("../models/author")(sequelize, DataTypes);
const models = {
Post,
Author
};
// Run `.associate` if it exists,
// ie create relationships in the ORM
Object.values(models)
.filter(model => typeof model.associate === "function")
.forEach(model => model.associate(models));
const db = {
...models,
sequelize
};
module.exports = db;
이 작업을 완료한 모델은 models/index.js를 통해 모든 모델에 액세스할 수 있습니다.
const {Post, Author} = require('../../models');
여기에서 데이터에 액세스할 때 연결을 사용하는 괭이에 대해 자세히 알아볼 수 있습니다.
above code용 GitHub 저장소
아래는 동일한 비디오 자습서에 대한 링크입니다.
Reference
이 문제에 관하여(Sequelize에서 모델 연결을 만드는 방법 - JS/Node JS 표현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/msamgan/how-to-create-model-association-in-sequelize-express-js-node-js-3mok텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)