使用scala slick,你如何使用纯文本生成一个查询过滤器?上下文-我试图在一个数组位置列上进行过滤,似乎不受https://github.com/tminglei/slick-pg提供的slick扩展的支持。
也就是说,我们有一个数组字段:
id UUID,
name varchar,
my_array_field varchar[],
...
字符串
我希望能够通过SELECT FROM BLAH where name='somename' and my_array_field[2] = 'bar'
的SQL等价物进行查询
- 有没有一种方法可以只注入一个文本字符串作为一个过滤器?也就是说,不是一个查询的光滑的SQL语句,而只是一个过滤器元素?
- 是否有一个光滑的或光滑的pg表示检索的数组元素?
1条答案
按热度按时间qncylg1j1#
在slick-pg的README中,您可以在用法部分看到如何使用lib的示例。您需要将
PgArraySupport
混合到配置文件中,并将ArrayImplicits
混合到API
中。字符串
然后,您可以看到定义为
def tags = column[List[String]]("tags_arr")
的数组列和使用过滤器.filter(_.tags @& tags.toList.bind)
的方法byTag
。型
还有一个README - Supported Array Oper/Functions你可以检查。