如何从 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。如何检索密钥的原始值,例如 Int64persistent的早期版本中曾经有过类似的功能,例如fromPersistKeyshowPersistentKey,但现在已经不可用了。

【问题讨论】:

它已移至后端部分 - 请参阅 fromSqlKey @Carsten 你想回答这个问题以便 Petr 可以接受吗? 【参考方案1】:

此功能已移至框架的后端部分

对于 SQL,它将是 fromSqlKey

并且确实有一个 type class - ToBackendKey 用于它,所以只需在你使用持久后端的那些中寻找你应该找到该函数(它不必到处都是 Int64 - 在 MongoDB 中似乎相当few helpers though)

【讨论】:

以上是关于如何从 Yesod 的 Persistent 中获取原始键值?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Yesod/Persistent 创建外键约束?

如何使用 Yesod/Persistent 访问两个不同的数据库服务器?

如何让 yesod-persistent 识别我的 aeson 解析实体数组的类型?

Yesod Persistent - 如何将 Day 与 UTCTime 进行比较? (如何转换它们?)

退出代码 11 安装 Persistent (Yesod)

Yesod/Persistent 实体派生 Show