如何进行 'like' 查询?

How do you make a 'like' query?

我是 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.I 尝试了以下方法:

   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 的函数。

非常感谢任何帮助。

您的 LIKE 语法是正确的,问题是您应该在 User1 对象上使用 .where,而不是 Model.User1 上的 .query

User1.where('id', 'LIKE', '%2%').fetch().then(...)