我有一个关于如何使用Grails的PostgreSQL的非强制扩展的问题。
我在法语中有很多描述,PostgreSQL没有重音不敏感。我安装了unaccent扩展,它在PgAdmin III上工作得非常好。
如何在控制器中配置Grails和/或PostgreSQL以使用unaccent?
这是我的域名:
Class Description {
String content
int type = -1
}
例如,我可以"翻译"使用GORM的下一个查询?
SELECT content
FROM description
WHERE unaccent(content) ILIKE unaccent(%myInputHere%)
感谢您阅读
答案 0 :(得分:1)
由于这是特定于SQL的,因此您需要在条件中使用SQL Restriction。例如:
def myinput = params.myinputfieldname
def results = Description.createCriteria().list() {
sqlRestriction "unaccent(content) ILIKE unaccent('%$myinput%')"
}
至少这是个主意。
修改强>
请注意,上述限制中的“内容”是指实际的SQL列名称,而不是域名的字段名称。