这是我在Persistent中的模型:
Tip
text Text
created_at UTCTime
updated_at UTCTime
title Text
category_id CategoryId
相关的ToJSON
实例(我无法使用deriveJSON
):
instance ToJSON Tip where
toJSON (Tip text created_at updated_at title category_id) = object ["text" .= text, "created_at" .= created_at, "updated_at" .= updated_at, "title" .= title, "category_id" .= category_id]
这几乎是正确的,除了我想在这里JSON化Tip的ID ...但它不在模型的任何地方!我该怎么做?有没有办法从EntityVal
转到EntityKey
?
答案 0 :(得分:2)
Entity
是键和值的配对。如果您只是拥有该值,则没有通用的方法来了解它具有的ID。如果它有任何唯一约束,您可以使用它来查找密钥。
理论上,给定的EntityVal
可以在不同的后端数据库中分配不同的ID(甚至可能都没有相同的类型)。或者它可以手动构造为插入但尚未实际插入,因此尚未分配id。 Tip
值并非天生拥有 ID;它只能在特定的数据库中有一个id。