繁体   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