在Persistent Yesod中做多对多的最佳方法是什么?

HHC*_*HHC 8 haskell persistent yesod

所以我的/ config/models看起来像这样.

Person
  name Text
Car
  name Text
PersonCar
  personId PersionId eq
  carId CarId eq
  UniquePersonCar personId carId
Run Code Online (Sandbox Code Playgroud)

假设数据库中的输入Person "Batman" Person "Superman" Car "SUV" Car "Ford"分别是.

我正在这样做,以便在我的处理程序中将它们链接起来.

runDB $ do
  person <- selectFirst [PersonName ==. "Batman"] []
  car    <- selectFirst [Carname ==. "SUV"] []
  let Entity personId _ = case person of
                            Just info -> infor
                            Nothing -> error "no such Person"
  let Entity carId _ = case car of
                            Just info -> infor
                            Nothing -> error "no such Car"
  _ <- insert $ PersonCar personId carId
Run Code Online (Sandbox Code Playgroud)

有更简单的方法吗?做这样的表达是否有约定?

Mic*_*man 1

不,目前没有这种查询的简写(至少我能想到)。