Как сделать 3 соединения с помощью sequelize? - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь сделать 3 соединения, в основном antispam_domain join left domain join left company join left territory

мой код:

'use strict';
module.exports = (sequelize, DataTypes) => {

  const Domain = sequelize.define('Domain', {});
  const Company = sequelize.define('Company', {});
  const Territory = sequelize.define('Territory', {});

  const Antispam_domain = sequelize.define('Antispam_domain', {
    domain_id: DataTypes.INTEGER,
    created_by_user_id: DataTypes.INTEGER,
    filter_id: DataTypes.INTEGER,
    domain: DataTypes.STRING,
    status: DataTypes.STRING
  }, {});
  Antispam_domain.associate = function(models) {
    Antispam_domain.belongsTo(models.Domain, {through : 'relation'});
    Domain.belongsTo(models.Company,  {through : 'relation'});
    Company.belongsTo(Territory,  {through: 'relation'});
  };
  return Antispam_domain;
};

`

и`

Antispam_domain
      .findAll({
        where: {
          id: req.body.id
        },
        include: ['relation']      
      })
      .then((result) => {
        if (!result) {
          return res.status(401).send({
            message: 'Domain not found.',
          });
        }
        res.json({ success: true, result: result});
      })
      .catch((error) => res.status(400).send(error));

`

но показывают статус ответа 400 неверный запрос ...

1 Ответ

0 голосов
/ 17 января 2020

Существует:

'use strict';
module.exports = (sequelize, DataTypes) => {
  const Antispam_domain = sequelize.define('Antispam_domain', {
    domain_id: DataTypes.INTEGER,
    created_by_user_id: DataTypes.INTEGER,
    filter_id: DataTypes.INTEGER,
    domain: DataTypes.STRING,
    status: DataTypes.STRING
  }, {});
  Antispam_domain.associate = function(models) {
    Antispam_domain.belongsTo(models.Domain, {foreignKey: 'domain_id'});
    models.Domain.belongsTo(models.Company, {foreignKey: 'company_id'});
  };
  return Antispam_domain;
};

и:

Antispam_domain
      .findAll({
        where: {
          id: req.body.id
        },
        include: [{
          model : Domain,
          include: [{
            model: Company
          }]
        }]
      })
...