Sequelize op.like 无法正常工作?
Sequelize op.like don`t working correctly?
我最近在 node
遇到了一份数据库工作。
目前我有一个与 Sequelize
请求相关的问题。
有一个简单的代码,op.like
给出了错误的 sql
查询。
我们有 '\"%delay%\"'
.
而不是请求中的 %delay%
这是代码片段和来自服务器的响应
const Sequelize = require('sequelize');
const Op = Sequelize.Op;
const shortcodes = await Shortcode.findAll({
where: {
project_id: project.id,
settings: {
[Op.like]: `%delay%`
}
}
});
这是此库创建的 Sql
查询。
SELECT
*
FROM
`shortcodes` AS `shortcode`
WHERE `shortcode`.`project_id` = 1
AND `shortcode`.`settings` LIKE '\"%delay%\"';
我搜索了整个互联网,发现了一个人的 github
个人资料。
有大致相同的问题。
据我所知,这是 Sequelize
库的一个错误。
这是这个问题的解决方案。
修改后的工作代码:
const Sequelize = require('sequelize');
const Op = Sequelize.Op;
const shortcodes = await Shortcode.findAll({
where: {
project_id: project.id,
settings: {
[Op.like]: Sequelize.literal('\'%delay%\'')
}
}
});
这是正确生成的 sql
查询。
SELECT
*
FROM
`shortcodes` AS `shortcode`
WHERE `shortcode`.`project_id` = 1
AND `shortcode`.`settings` LIKE '%delay%';
这是我阅读所有内容的 resource。
我最近在 node
遇到了一份数据库工作。
目前我有一个与 Sequelize
请求相关的问题。
有一个简单的代码,op.like
给出了错误的 sql
查询。
我们有 '\"%delay%\"'
.
%delay%
这是代码片段和来自服务器的响应
const Sequelize = require('sequelize');
const Op = Sequelize.Op;
const shortcodes = await Shortcode.findAll({
where: {
project_id: project.id,
settings: {
[Op.like]: `%delay%`
}
}
});
这是此库创建的 Sql
查询。
SELECT
*
FROM
`shortcodes` AS `shortcode`
WHERE `shortcode`.`project_id` = 1
AND `shortcode`.`settings` LIKE '\"%delay%\"';
我搜索了整个互联网,发现了一个人的 github
个人资料。
有大致相同的问题。
据我所知,这是 Sequelize
库的一个错误。
这是这个问题的解决方案。
修改后的工作代码:
const Sequelize = require('sequelize');
const Op = Sequelize.Op;
const shortcodes = await Shortcode.findAll({
where: {
project_id: project.id,
settings: {
[Op.like]: Sequelize.literal('\'%delay%\'')
}
}
});
这是正确生成的 sql
查询。
SELECT
*
FROM
`shortcodes` AS `shortcode`
WHERE `shortcode`.`project_id` = 1
AND `shortcode`.`settings` LIKE '%delay%';
这是我阅读所有内容的 resource。