私は多くのバナーを持つポートフォリオを持っています。Sequelizeアソシエーションに属性を追加する
最初にportfolio.setBanners([1,2,3])
を使用してバナーを設定しましたが問題ありません。今度は、各バナーにsortOrder整数を追加したいと思います。ここで私が連想設定しています
:
const PortfolioBanners = sequelize.define('PortfolioBanner', {
sortOrder: {
type: DataTypes.INTEGER,
defaultValue: 0
}
});
私ははsortOrder値のそれぞれが異なっているので、私は、setBannersを使用することができるとは思わない:ここでは
Portfolio.belongsToMany(models.Version, { through: models.PortfolioBanner, foreignKey: 'portfolioId', otherKey: 'versionId', as: 'banners' });
Version.belongsToMany(models.Portfolio, { through: models.PortfolioBanner, foreignKey: 'versionId', otherKey: 'portfolioId', as: 'portfolios' });
は私PortfolioBanner
モデルです。 addAssociationという別のメソッド呼び出しがあります。これは、バナーをループして個別に設定することで使用できると考えていました。
これは私の最新の試みでしたが、うまくいきませんでした。バナーをnullに設定して、各バナーを個別に追加します。しかし、起こりそうなことは、それが部分的に機能するということです。バナーの一部は、このように設定した後に欠落しています。
したがって、関連するバナーのsortOrderを設定するにはどうすればよいですか?
ここに私が参照している続編文書へのリンクがあります。 http://docs.sequelizejs.com/en/latest/api/associations/belongs-to-many/
部分的に動作します上記ループ方式を使用してUPDATE は、しかし、私は協会としてバナー1を追加しますと言います。次に、バナー2を追加したいと思います。すべてのバナーをnullに設定し、バナー1と2をループしてaddBanner
を追加すると、バナー1は保持されますが、バナー2がそこにあります。今、私はバナー3を追加すると、バナー2はなくなりますが、バナー1と3は持続します。