序列化:通过数据透视表字段过滤“多对多”关联

问题描述

我有3个模型:A,B及其枢纽AsB。 我正在尝试获取所有A / B实体(查询其各自的存储库),其中ivot的booltocheck为true。 我已经能够过滤每个其他模型的字段(例如:A,其中B.bField是任何东西),但是不能通过透视字段过滤。

我该怎么办? 谢谢!

模型A

module.exports = (sequelize,DataTypes) => {
  const A = sequelize.define(
    "a",{
      aField: {
        allowNull: false,type: DataTypes.STRING,},{}
  );
  A.associate = function (models) {
    A.belongsToMany(models.B,{
      through: "asBs",onDelete: "RESTRICT",onUpdate: "CASCADE",});
  };
  return A;
};

B型

module.exports = (sequelize,DataTypes) => {
  const B = sequelize.define(
    "b",{
      bField: {
        allowNull: false,{}
  );
  B.associate = function (models) {
    B.belongsToMany(models.A,});
  };
  return B;
};

PIVOT AB

module.exports = (sequelize,DataTypes) => {
  const AsBs = sequelize.define(
    "asBs",{
      aId: {
        allowNull: false,type: DataTypes.NUMBER,bId: {
        allowNull: false,booltocheck: {
        allowNull: false,{}
  );
  AsBs.associate = function (models) {
    AsBs.belongsTo(models.A,{
      onDelete: "RESTRICT",});
    AsBs.belongsTo(models.B,});
  };
  return AsBs;
};

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)