bookshelf.js
の関連モデルのクエリを結合するにはどうすればよいですか?Bookshelf.js/Knex.jsが単一のクエリでネストされています
ORMは、結合したいデータベースに対して2つの別々のクエリを実行します。 knex.js
デバッガが実行二つの別々のクエリを示し除き、
Model
.where({ someField: 'someValue' })
.fetch({ withRelated: [{
otherModel: q => q.where({
someOtherField: 'someOtherValue'
})
}] });
これは動作します:bookshelf.js
で
Model.find({
where: {
someField: 'someValue'
},
include: [{
model: OtherModel,
as: 'otherModel',
where: {
someOtherField: 'someOtherValue' <--- part of the same query
}
}]
})
私の現在の設定(Model
とOtherModel
間の関係が設定されている):それはこのようなことができましたsequelize
から来ますデータベースに対してブックシェルフは、1つのクエリで結合するSQLを構築するのに十分なほどスマートになると思います。
これは構成やその他の手段で回避できるものですか?
興味深い。この動作を説明するドキュメントへのリンクはありますか?私はそれが非常に奇妙であり、Sequelizeに移ったことがわかりました。 –