2016-12-29 32 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; 
    } 
})