0
Sequelizeに組み込まれたORMの便利な組み込み構文を生のPostGISクエリで使用しようとしています。sequelizeを使用した組み込みPostGISクエリの実行方法
この呼び出しが正しく、私はそれを必要なだけのように関連promotionImageとカテゴリのテーブルを結合するが、それは私がそれを必要とするように私のデータベースを照会地理ません。一方、このクエリは正しく
promotion.findAll({
include: [{
model: promotionImage
}, {
model: category
}]
}).then(promoters => {
res.json(promoters)
}).catch(err => {
console.log('ERROR: ', err)
})
LNGの境界/ LAT提供中の「プロモーション」を見つけたが、それは正しく関連付けられpromotionImageとカテゴリテーブルを結合しません:
const query = '\
SELECT * \
FROM "promotions" \
WHERE "promotions"."location" && ST_MakeEnvelope(:southWestLng, :southWestLat, :northEastLng, :northEastLat)'
replacements = {
southWestLng,
southWestLat,
northEastLng,
northEastLat
}
db.sequelize.query(query, {
replacements,
type: sequelize.QueryTypes.SELECT,
model: promotion,
include: [{
model: promotionImage
}, {
model: category
}]
}).then(promoters => {
res.json(promoters)
}).catch(err => {
console.log('ERROR: ', err)
})
はST_MakeEnvelope
構文を使用して、両方のクエリに方法はあるとのデータが含まれます他のモデル続行し、後にGIS?
と
Sequelize.fn()
を使用することができます。しかし、結果は返ってこない。私は問題はpostGISクエリが '= '記号ではなく、代わりに' && 'を持つと仮定していると思います。あなたの答えは、 '' WHERE "promotion"。 "location" = ST_MakeEnvelope(... '' WHERE "'プロモーション" "であるはずです)" "location" && ST_MakeEnvelope(... ' – Scott私はそれを逃しました、私は自分の答えを編集@Scott –