gpt4 book ai didi

javascript - Bookshelf.js 类似于动态输入

转载 作者:行者123 更新时间:2023-12-01 02:32:12 24 4
gpt4 key购买 nike

我正在尝试使用 Express/Bookshelf/Awesomeplete 创建自动完成搜索。

我一直在试图找出如何使用像这样的Where Like 查询将搜索词传递到Bookshelf,我正在从PHP/MYSQL 转换该查询。

$query = mysql_escape_string($_REQUEST['query']);
$query = htmlentities($query);
SELECT SID, schoolName FROM schools WHERE schoolName LIKE '%$query%'

这是我到目前为止所拥有的。

var terms = req.params.search;

new Model.School()
//This is the part that I can't get to work.
.query('where', 'schoolName', 'LIKE', '%'?'%',[terms])
.fetchAll({columns: ['SID', 'schoolName']})
.then(function (schools) {
console.log(schools);
var schools = schools.toJSON();
res.json(schools);
})
.catch(function (error) {
res.json({'message':'An error occured in your search'});
});

如果我将上面的内容更改为:

new Model.School()
.query('where', 'schoolName', 'LIKE', '%american%')
.fetchAll({columns: ['SID', 'schoolName']})
.then(function (schools) {
console.log(schools);
var schools = schools.toJSON();
res.json(schools);
})
.catch(function (error) {
res.json({'message':'An error occured in your search'});
});

书架查询可以按照我的需要运行,但我希望查询参数是动态的。我尝试了很多排列,但无法使其发挥作用。

最佳答案

根据我的评论和您的验证,它看起来像以下作品。

基本上,您希望在将搜索值传递到 .query LIKE 子句之前将其附加到搜索值。

var terms = "%"+req.params.search+"%";

new Model.School()
.query('where', 'schoolName', 'LIKE', terms)
.fetchAll({columns: ['SID', 'schoolName']})
.then(function (schools) {
console.log(schools);
var schools = schools.toJSON();
res.json(schools);
})
.catch(function (error) {
res.json({'message':'An error occured in your search'});
});

快乐编码。加里。

关于javascript - Bookshelf.js 类似于动态输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48234836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com