2016-07-09 9 views
1

esqueletoを使用して定数値を返すクエリを作成できますか?例えばSELECT 1のようになります。定数値を返すEsqueletoクエリ

+0

'select(return 1)'を試してください - 今すぐチェックすることはできませんが、動作する可能性があります。 – chi

+0

@chi:残念なことに: '(Database.Esqueleto.Internal.Sql.SqlSelect Int r0)のインスタンスがありません' –

答えて

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) 

は近くにあったが、1SqlExprに解除する必要がありました。 valは一般的に書かれており、Esqueletoクラスインスタンスに依存しています。通常、型推論はfromを使用してSQLテーブルを取得するとすぐにこれを取得しますが、ここではそのどれも利用できないため、手動で特殊化する必要があります。

全体的に、タイプメスが意味を難読化し、人々に文書やフォーラムに向かわせる良い例です。

関連する問題