2016-12-29 61 views
1

我需要按名称搜索用户,他们的名字和姓氏存储在postgresql数据库的不同列中。这些列需要连接在一起以便搜索正常工作。输入用户的完整名字和姓氏应该与结果匹配。如何连接两列进行羽化搜索搜索?

我可以通过什么方式将查询传递给羽毛服务的查找方法,以便我可以执行此操作?

+0

这里是如何做到这列串联在where子句 http://stackoverflow.com/questions/32752840/sequelize-concat-fields-in-where-like-clause#answer-32759361 –

+0

这是更多的一个羽毛 - 续集特定问题 –

回答

2

正如answer linked,你可以通过在before hook修改params.query通过where子句的羽毛服务:

app.service('users').before({ 
    find(hook) { 
    const where = Sequelize.where(Sequelize.fn("concat", 
     Sequelize.col("firstname"), 
     Sequelize.col("lastname")), { 
     like: '%John Do%' 
     } 
    ); 

    hook.params.query.where = where; 
    } 
})