我有一个尚未创建的对象(因此它没有ID),但用户正在填写字段以创建它。对于其中一个字段,它们为该对象创建一个属性,但该属性需要该对象的ID。
这就是问题所在--因为对象还没有实际创建(用户正在填写字段以创建它),它没有ID。当您编辑对象并因此拥有对象的ID时,创建属性是没有问题的。
关系是这样的:
OBJECT (name, id)
^ ATTRIBUTE (name, object_id, id)你是如何处理这种情况的?我正在考虑向对象添加一个"is_temporary“字段,这样它就可以立即获得ID,但肯定有更好的方法?
发布于 2009-06-25 15:57:13
实际上,这个问题问得很好。您有两个选择:
后者更容易实现,但要求您在访问对象的其他地方包含is_temporary='false‘,并且当人们取消时还会弄乱您的ID序列。
选择取决于属性创建代码的难度。如果在创建对象(没有ID)之前很难使其在表单中持续存在,则选择后一种方法。否则,选择前者。
发布于 2009-06-25 15:56:01
我认为您需要区分在数据库中保存/持久化的对象和在JS中实例化创建的对象。
是否要将对象保存到数据库?一种方法是从数据库中预取下一个id。但这也有它自己的问题(如果你的页面有很多流量,就会有重复的和所有的)。
你能保存对象,获取它的ID,然后在属性上使用它吗?如果您想避免多次访问服务器,那么在提交所有内容并处理id的服务器端之前,不要担心id。
一个更具体的例子也很好:-)
https://stackoverflow.com/questions/1044272
复制相似问题