5
我有一个数据库模型,使用持久像这样如何获得持久性的数据库实体的ID?
import Database.Persist.TH (mkPersist, persistUpperCase,
share, sqlSettings)
share [mkPersist sqlSettings] [persistUpperCase|
Foo
field1 Int
field2 Bool
|]
,我能够从数据库中获取的对象foo :: Foo
。我可以通过fooField1 foo :: Int
和fooField2 foo :: Bool
访问这些字段。而且由于我使用的是sqlSettings
,我知道有一个Int64
- 表示数据库密钥是每个实体存储的“id”。例如。当我使用get . toSqlKey :: Int64 -> ...
鉴于我的foo :: Foo
,我如何获得id :: Int64
?
如果我不使用'getBy',但例如一个esqueleto查询,我通常使用'entityVal'并删除ID ...我只是没有注意到。 –
为了完整起见:'fromSqlKey。 entityKey :: Entity record - > Int64'在从数据库中检索的实体(例如'Entity foo')中给出id。 –