2

私が持っているとしましょうfooIds :: [Key Foo]。どうすれば入手できfoos :: [Foo]ますか?

私は試した

do
    foos <- map get fooIds

しかし、それは私に与えます

No instance for (MonadBaseControl IO m0)
  arising from a use of `get'

を使用する必要があるためだと思いますrunDB。しかし、私はそれをどのように扱うのかよくわかりません。

4

2 に答える 2

5

次のようになります。

foos <- runDB $ mapM get fooIds

ただし、それはあなたにのリストを与えるでしょうMaybe FooFooに置き換えるか、を使用しgetて、これをのリストに変換できます。これらは2つの異なるアプローチであることに注意してください。最初のアプローチでは、IDが存在しない場合、ユーザーは404を取得します。2番目のアプローチでは、そのキーは単に無視されます。get404catMaybes

于 2013-02-10T04:56:01.083 に答える
0

別の有用なアプローチは

foos <- runDB $ mapM getJustEntity fooIds
于 2020-03-22T21:02:15.547 に答える