返回常量值的 Esqueleto 查询



是否可以使用esqueleto创建返回常量值的查询?比如SELECT 1

试试这个:

import Database.Esqueleto
-- | We have to specialize `val` or else the type inferencer
-- will complain about the `Esqueleto` instance.
val_ :: Int -> SqlExpr (Value Int)
val_ = val
query :: SqlPersistT IO [Value Int]
query = select $ return (val_ 1)

@chi的评论很接近,但1需要被提升到SqlExprval 是通用编写的,依赖于Esqueleto类实例。通常,一旦您使用from并拉入SQL表,类型推断器就会立即获取此内容,但是由于此处没有这些可用,因此我们必须手动进行专用。

总的来说,字体类如何混淆含义并迫使人们转向文档或论坛的一个很好的例子。

最新更新