我正在大学课程中编码开源项目
该功能是通过将输入关键字除以逗号来搜索另一个表的值的功能。
在此示例数据下
Python,CPP,Csharp
var keyword = result[0].keyword;
var keyword_arr = [];
var keyword_split = keyword.split(',');
for (var i in keyword_split)
{
keyword_arr.push(keyword_split[i]);
}
我已经成功地用逗号分隔了它们,但我正在寻找续集中的循环。
“错误:发送标头后无法设置标头。”
返回错误并且不执行。
我要输出合并的结果。我该怎么办?
我的代码是
for (i = 0; i < keyword_arr.length; i++) {
query += models.contents.findAll({
where: {keyword: {like: '%' + keyword_arr[i] + '%'}},
raw: true
});
}
致谢。
答案 0 :(得分:1)
您的方向是正确的,但是在这里他是如何做的:
queries = [];
for (i = 0; i < keyword_arr.length; i++) {
queries.push({keyword: {like: '%' + keyword_arr[i] + '%'}});
}
models.contents.findAll({
where: {
$or : queries
}
raw: true
}).then(results => {
console.log(results); // <---- Check this
})
注释:
models.contents.findAll() //<---- Returns promises
您不能只用+ =来组合诺言,因为它不是字符串或数字 这样
在您的情况下,它将为每个标签创建并运行查询,因此 这样做不是正确的方法,您应该像我一样结合标签并创建一个查询