我在两个实体之间有多对多的关系。例如,让我们考虑一个可以有多个作者的博客帖子。这可能是一个简单的模型:
share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistLowerCase|
Person
name String
age Int Maybe
deriving Show
Blogpost
title String
deriving Show
PersonBlogpost
person PersonId
blogpost BlogpostId
|]
我的想法是为Blogpost实体创建一个“编辑”页面,并在其中为作者提供multiSelectField,并在当前作者的标签中“选择”。用户将能够修改作者并将其更改保存在数据库中。每当他再次进入同一博客文章的编辑页面时,他保存的选项必须在multiSelectField中显示为选中状态。
我目前正在使用这样的MForm:
(mAuthorsRes, mAuthorsView) <- mopt
(multiSelectField authors)
""
Nothing
authors
只有Person表中的所有作者。我知道我必须替换相关代码的最后Nothing
,但我不知道该怎么做。
提前致谢。