如何从 Yesod 的 Persistent 中获取原始键值?
Posted
技术标签:
【中文标题】如何从 Yesod 的 Persistent 中获取原始键值?【英文标题】:How to get a raw key value from in Yesod's Persistent? 【发布时间】:2016-04-10 09:30:30 【问题描述】:拥有一个实体,例如User
,我可以使用entityKey
检索它的类型安全密钥,这让我得到Key User
。如何检索密钥的原始值,例如 Int64
? persistent的早期版本中曾经有过类似的功能,例如fromPersistKey
和showPersistentKey
,但现在已经不可用了。
【问题讨论】:
它已移至后端部分 - 请参阅 fromSqlKey @Carsten 你想回答这个问题以便 Petr 可以接受吗? 【参考方案1】:此功能已移至框架的后端部分
对于 SQL,它将是 fromSqlKey
并且确实有一个 type class - ToBackendKey
用于它,所以只需在你使用持久后端的那些中寻找你应该找到该函数(它不必到处都是 Int64
- 在 MongoDB 中似乎相当few helpers though)
【讨论】:
以上是关于如何从 Yesod 的 Persistent 中获取原始键值?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Yesod/Persistent 访问两个不同的数据库服务器?
如何让 yesod-persistent 识别我的 aeson 解析实体数组的类型?