簡體   English   中英

排序原始查詢:有效的SQL查詢不返回任何內容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM