我是Bookshelf JS的新手,想要对数据库进行类似的查询。我在他们的官方网站上阅读了这些文档,但我无法弄清楚这一点。
以下是我的代码:
1. var DB = Bookshelf.initialize({
client: 'mysql',
connection: config
});
2. var User1=DB.Model.extend({
tableName: 'applicationPrimary',
});
3。现在我想进行如下查询:
select * from applicationPrimary where id like '%2%' ;
4.我尝试过以下方法:
Model.User1.query(function(qb) {
qb.where('id', 'LIKE', '%2%')
}).fetch()
.then(function(model) {
console.log(model)
});
以下是我初始化和设置的方式:
1. var Bookshelf = require('bookshelf');
var config = {
host: 'localhost',
user: 'root',
password: 'root',
database: 'mydb',
charset: 'UTF8_GENERAL_CI'
};
var DB = Bookshelf.initialize({
client: 'mysql',
connection: config
});
module.exports.DB = DB;
2. var DB = require('./db').DB;
var User1 = DB.Model.extend({
tableName: 'applicationPrimary',
});
module.exports = {
User1: User1,
};
然后我将它用作:
var Model = require('./ model');
在我使用User1的文件中。
以上操作不起作用,它会抛出错误,说没有名为query的函数。
非常感谢任何帮助。
答案 0 :(得分:0)
LIKE
的语法是正确的,问题是你应该在.where
对象上使用User1
,而不是.query
上的Model.User1
User1.where('id', 'LIKE', '%2%').fetch().then(...)