Sequelize原始查询:有效的SQL查询不返回任何内容

时间:2016-10-27 04:46:05

标签: javascript sql database postgresql sequelize.js

我的sequelize查询总是返回0结果, 但是当我将完全相同的查询复制/粘贴到psql中时,它可以正常工作,并按预期完全返回正确的行

<!DOCTYPE html>
<html>
<head>
    <title>multiple box</title>
    <link rel="stylesheet" type="text/css" href="test22.css">
</head>
<body>
    <div class="div1">
        <ul>
            <li><img src="chicken.jpg"/></li>
            <li><img src="chicken.jpg"/></li>
            <li><img src="chicken.jpg"/></li>
        </ul>
    </div>
</body>
</html>

);

fbid是一个整数&amp;今天是一串形状&yyyy-mm-dd&#39;
如果我放弃今天的&#39;条件,我得到行返回

sequelize是否会转义我的日期字符串?

1 个答案:

答案 0 :(得分:0)

如果在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 }
);