永続的にLIKEクエリを実行したいのですが、sqliteを使用しています。yesodの本は、生のSQLを使用してそれを行う例を示していますが、次のように述べています。
Persistent 0.6で追加された機能により、通常の構文でLIKE演算子を直接表現できます。これにより、バックエンド固有の演算子が可能になります。
しかし、その例は見つかりませんでした。誰かがLIKEのような特定の演算子selectList
または同等のものを使用することの意味の例を持っていますか?
ありがとう!
以前使ったことがあるのは知っていますが、どこにあるのか思い出せません。とにかく、簡単な例(GHCでチェックされていない、お詫び)は次のようになります。
selectList [Filter PersonName (Left $ PersistText "%Michael%") (BackendSpecificFilter "ILIKE")] []
明らかに、いくつかのヘルパー関数を作成できます。例:
icontains field val = Filter field (Left $ PersistText $ T.concat ["%", val, "%"]) (BackendSpecificFilter "ILIKE")
selectList [Personname `icontains` "Michael"] []