PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Sequelize Eager Loading Error saat menyertakan model terkait

Saya mendapat jawaban yang berfungsi. Dalam contoh ini saya memiliki skema di mana departemen dapat memiliki banyak posisi. Posisi akan mencakup departemen dan departemen akan mencakup posisinya.

model/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;
};

model/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;
};

controllers/departmentController.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})
    });
};

controllers/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. Penjadwal Acara di PostgreSQL?

  2. Bisakah seseorang menjelaskan apa itu klien postgresql dan bagaimana interaksinya dengan paket inti postgresql?

  3. Replikasi Streaming PostgreSQL - Penyelaman Mendalam

  4. SQL terus mengeksekusi kueri setelah pelanggaran kunci duplikat

  5. Tidak ada batasan unik yang cocok dengan kunci yang diberikan untuk tabel yang direferensikan