如何转换(fmap?)函数X =>布尔到Rep [X] => Slick中的Rep [Boolean]?

时间:2017-05-01 14:53:10

标签: scala slick

假设我有一个来自X => Boolean的函数,其中X是一些可以比较的类。我还有一个DAO,它从数据库中读取X的集合。我希望DAO中的函数看起来像这样:

retrieveXs(criteria: X => Boolean)

然后在Slick的criteria函数中使用filter函数,如下所示:

XQuery.filter(criteria).result

所以例如我可以这样做:

retrieveXs(((a :X) => (b: X) => b > a)(X(1)))

所以我会从数据库中获取大于X(1)的所有元素。

当然,Slick的过滤功能需要Rep[X] => Rep[Boolean],所以我的问题是如何将criteria函数提升为Rep[X] => Rep[Boolean],假设我已经有了映射X。这听起来像fmap之类的工作,但我无法找到如何做到这一点。

0 个答案:

没有答案