[英]Sequelize raw query: Valid SQL query returns nothing
我的sequelize查詢總是返回0個結果,但是當我將完全相同的查詢復制/粘貼到psql中時,它可以正常工作,並按預期返回正確的行
return sequelize.query(
"SELECT * FROM orders" +
" INNER JOIN sizes ON orders.sizeid = sizes.sizeid" +
" INNER JOIN types ON sizes.typeid = types.typeid" +
" INNER JOIN items ON types.itemid = items.itemid" +
" WHERE orders.fbid = :fbid AND pickuptime >= :today" +
" ORDER BY orders.pickuptime ASC",
{ replacements: {fbid, today}, type: sequelize.QueryTypes.SELECT }
);
fbid是一個整數,今天是一個字符串'yyyy-mm-dd'
如果放棄“今天”條件,我將返回行
是sequelize轉義我的日期字符串嗎?
如果您在SQL腳本中定義了類似fbid=:fbid
命名參數,則應傳遞一個對象{fbid: 'fbid_value'}
,
還是如果您定義了未命名參數fbid=?
,則應傳遞一個數組['fbid_value']
。
這是文檔http://docs.sequelizejs.com/en/latest/api/sequelize/#querysql-options-promise
嘗試將對象傳遞給替換對象:
return sequelize.query(
"SELECT * FROM orders" +
" INNER JOIN sizes ON orders.sizeid = sizes.sizeid" +
" INNER JOIN types ON sizes.typeid = types.typeid" +
" INNER JOIN items ON types.itemid = items.itemid" +
" WHERE orders.fbid = :fbid AND pickuptime >= :today" +
" ORDER BY orders.pickuptime ASC",
{ replacements: {fbid: 'fbid_value', today: 'today_value'}, type: sequelize.QueryTypes.SELECT }
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.