私はPostgresでSequelizeを使用しています。 2つのテーブル(estimatorList
とsubcontractor
)は、手動で定義されたテーブル(estimatorSubsList
)で結合されています。sequelize return手動で定義したジョインテーブルの関連付け
db.subcontractor.belongsToMany(db.estimatorList, { through: db.estimatorSubsList });
db.estimatorList.belongsToMany(db.subcontractor, { through: db.estimatorSubsList });
estimatorSubsList
IDおよび他のフィールドを有しているが、私は特定のIDとestimatorList
のデータベースを照会し、下請業者と関連subcontractor
(及びテーブルを返す場合、それはまた
db.contact.hasMany(db.estimatorSubsList);
介しcontact
に関連付けられています)これに関連する -
すべての正しい情報を返します。各subcontractor
オブジェクト内にcontactId
を含むestimatorSubsList
を自動的に返します。 EG:
estimatorSubsList:
{ contactId: 1
createdAt: ""
estimatorListId: 1
id:2
otherFields:false
subcontractorId: 2
updatedAt:""
}
私の質問は、contactIdだけでなく、連絡先レコード全体を取得することができますか?返されるデフォルトの情報を変更する方法やそれが可能であるかどうかはわかりません。私はestimatorSubsList
モデルを含めて試しましたが、それにはcontact
が含まれていましたが、estimatorSubsList
を含めようとしていません。
乾杯すべて
属性オプションを使用して属性を組み込み、変更することができます。それはすべて文書化されています – felixfbecker
こんにちは@felixfbecker、 私は過去数日間ドキュメントを読んできましたが、解決策を見つけることができないようです。私が特に調べなければならない見出しがありますか?私はネスティングを理解していますが、自動的に返されるものを変更する方法はわかりません。上のjson、私がestimatorListをクエリするとき。私はestimatorSubsList自体を呼び出すのではなく、そのサブコントラクターに返されます。私は返品のその部分に連絡先を含めると思います。 あなたの助けをありがとう – Porksoda
@felixfbeckerを助けてください、私はまだ解決策を見つけることができません。私は、私のテーブルdb.estimatorSubsListを介して関連付けられているdb.contactを返したいと思います。苦しい! **から**まで**を使用して属性を変更する方法はわかりましたが、私のスルー/ジョインテーブルに関連付けられたdb.contactsモデルを返す方法はまだ見つかりません。 – Porksoda