我正在使用Sequelize实现一个应用程序来处理与数据库的通信 .
我在数据库中有许多用户,我想实现一些搜索功能,允许用户根据他们的全名查找其他用户 . 用户(在其他属性中)具有其模型中的firstName和lastName .
正在寻找其他用户的用户可以搜索“John Doe”,其中John是名字,Doe是姓氏 . 不幸的是,名字和姓氏存储在我的模型中的单独字段中 . 因此,我需要在下面尝试的“where”-clause中连接firstName和lastName字段 .
在where子句中,我只是连接firstName和lastName,然后检查是否"like"是作为参数 name
传递的全名 . 我认为下面这段代码的用意很清楚 . 然而它不起作用(错误说它没有't expect the '(允许' after concat so this syntax isn') . 有一个简单的技巧可以做到这一点,还是应该使用 sequelize.query
编写我自己的查询?
var findUserByName = function(name) {
return models.User.find({where: {concat(firstName,' ',lastName): like: name}});
}
1 回答
你可以这样做: