問題タブ [esqueleto]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - select 内の Esqueleto カウント
私は次のものを持っていますEntities
:
そして、次のようなクエリを実行したいと思います:
でできますEsqueleto
か?
haskell - esqueleto で deleteCascade を使用することは可能ですか?
esqueleto の deleteCascade と deleteCascadeWhere についての言及は見つかりませんでした... これらの関数に相当する esqueleto はありますか?
postgresql - Haskell Esqueleto で配列の内容を照会する方法
イベントのタグ列にタグを含むすべてのイベントをデータベースから選択しようとしています。
Event
tags
は、 Yesod のモデル ファイルで として定義されている列を持つモデルですtags [Tag]
。タグは、型を型として格納できるようnewtype Tag = Tag Text
にするなど、多くの派生物を持つ単純なモデルです。PersistField
Tag
Text
タグ列に特定のタグを含むすべてのイベントを選択するクエリを定義したいと考えています。何かのようなもの:
やり方がわからない部分はcontains
関数です。Persistent は配列を varchar として postgres に格納するため、postgres 配列関数を使用できる可能性は低いと思われます。その場合、私はlike
. postgres でこのクエリを使用して、実際に必要な結果を得ることができました。select * from events where tags like '%"tag"%';
しかし、これを Esqueleto の言語に翻訳する方法がわかりません。関数を使用してみましたlike
が、両方の引数を派生させたインスタンスにする必要がありますが、インスタンスSqlString
を重複させずに派生Tag
させる方法を理解するのに苦労しました。[Tag]
haskell - Esqueleto `LeftOuterJoin` から `Maybe (Entity a)` を返す
config/models
足場のあるサイトで考案された から:
ここで、Esqueleto を使用LeftOuterJoin
して、コンテナー内のスロットを取得するために使用したいと思います。割り当てられていない場合、実際の在庫は空です。
buildStuff
結合の「外側」の性質により、次の署名が必要になると予想されます。
ただし、次のものが必要であることがわかります。
Inventory
(予想通り)フィールドに値が入力されると、ランタイム エラーが発生しNULL
ます。
Entity Inventory
をとして射影する方法はありMaybe (Entity Inventory)
ますか?
haskell - Esqueleto を使用して "SELECT ... IN (SELECT ...)" を実行するには?
次の 2 つのモデルとGET /articles/:slug/comments
リクエストを考慮して、記事に属するコメントをその に基づいて取得したいと考えていますslug
。
永続rawSql
化を使用すると、次のようにこれを実現できます
しかし、Haskell と SQL の間で型の安全性を維持したいので、これをesqueleto
. これは私が苦労している部分です。ドキュメントを読むと、sub_selectがその仕事のツールのようです。ここに私が持っているものがあります:
in_ operatorにも気付きましたが、使い方がわかりませんし、 sub_selectよりも適切かどうかもわかりません。
私は何が欠けていますか?構文は正しいですか?ありがとう。
sql - Haskell Esqueleto - 結合による更新
Haskell で結合を使用して更新クエリを作成できますか? 多分このようなもの: