PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Sequelize Lỗi tải háo hức khi bao gồm mô hình liên quan

Tôi đã có một câu trả lời hiệu quả. Trong ví dụ này, tôi có một sơ đồ trong đó một bộ phận có thể có nhiều vị trí. Chức vụ sẽ bao gồm bộ phận và bộ phận sẽ bao gồm các vị trí của bộ phận đó.

mô hình / Department.js

module.exports = (sequelize, DataTypes) => 
{
const Sequelize = require('sequelize');
const Department = sequelize.define('Department', 
{
    ...
}
Department.associate = function(models) {
    Department.hasMany(models.Position, {
      foreignKey: 'department_id',
      as: 'positions'
    });
};

return Department;
};

models / Position.js

module.exports = (sequelize, DataTypes) => 
{
const Sequelize = require('sequelize');
const Position = sequelize.define('Position', 
{
    ...
}

Position.associate = function(models) {
    Position.belongsTo(models.Department, {
        foreignKey: 'department_id',
        as: 'department',
        onDelete: 'CASCADE'
    });
};

return Position;
};

bộ điều khiển / phòng banController.js

exports.all = async function(req, res)
{
return Department
    .findAll({include: [ 'positions' ]})
    .then((data) => {
        if (!data) { return res.status(400).json({status: 400,message: 'Registro não encontrado', data: data }); }
        return res.status(200).json(data);
    })
    .catch((error) => {
        return res.status(400).json({message: 'Falha no banco de dados.', data: error})
    });
};

bộ điều khiển / positionController.js

exports.all = async function(req, res)
{
return Position
    .findAll({include: [ 'department' ]})
    .then((data) => {
        if (!data) { return res.status(400).json({status: 400,message: 'Registro não encontrado', data: data }); }
        return res.status(200).json(data);
    })
    .catch((error) => {
        console.log(error);
        return res.status(400).json({message: 'Falha no banco de dados.', data: error})
    });
};


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phần 2:Cách lấy Tổng của một truy vấn dựa trên phân vùng mà không thực sự xoay vòng

  2. Độ trễ sao chép - vượt quá max_slot_wal_keep_size, phân đoạn WAL không bị xóa

  3. Làm thế nào để tạo bảng cây mà không có mối quan hệ tuần hoàn?

  4. PostgreSQL có hỗ trợ các cụm từ không nhạy cảm trọng âm không?

  5. Ngoại lệ tùy chỉnh PostgreSQL?