首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >帮助处理两个注册表单之间的数据依赖关系

帮助处理两个注册表单之间的数据依赖关系
EN

Stack Overflow用户
提问于 2010-06-09 07:23:15
回答 1查看 72关注 0票数 0

我这里有一个棘手的问题,注册用户和他/她的宠物。用户和宠物都被视为单独的实体,并且都需要单独的注册表。但是,用户的宠物必须通过数据库中的外键链接到用户。这个过程基本上是,当一个新用户加入网站时,他们首先注册他们的宠物,然后他们注册自己。这个命令的原因是首先检查他们宠物的网站资格(有一些标准需要满足),而不是让用户注册,然后发现他们的宠物是不合格的。正是这种表单提交的顺序让我有点头疼,如下所示……

该网站使用MVC框架开发,用户注册过程通过User_form控制器中的方法进行管理,而宠物注册过程通过Pet_form控制器中的方法进行管理。

宠物注册表单首先发生,在这个阶段,宠物数据可以在没有owner_id的情况下保存,用户id可能会在用户注册之后添加(例如,通过从会话中检索宠物的id )。然而,这样做可能会导致冗余数据,其中宠物记录将在数据库中创建,但如果用户实际上也没有注册自己,那么宠物将是数据库中的无主记录。

另一种选择是在宠物注册阶段序列化新宠物的数据,在用户填写注册表单之前不要将其保存到数据库中。一旦创建了用户,我就可以将序列化的数据和owner_id传递给Pet Model中的一个方法,该方法可以更新数据库。但是,我还需要将新创建的宠物设置为$this-> $pet,然后访问它以获取一系列其他相关表单。我应该只在model方法中设置会话变量吗?然后在Pet控制器构造函数中,检查会话中存储的宠物,如果是,则将其分配给$this-> pet ...

如果这篇文章对任何人有任何意义,你有什么建议,我将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2010-06-09 17:21:04

这里有一个稍微左场的解决方案(可能工作,也可能不工作,这取决于您的情况:

要求用户在注册宠物时输入有效的电子邮件地址,然后在用户注册时通过匹配电子邮件地址(或电子邮件地址的散列)将用户与宠物链接。

如果你留下的是悬而未决的宠物引用,你可以在一个月后给宠物主人发送一封电子邮件,告诉他“我要删除你的宠物”(如果没有关联的用户id),或者类似的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3002064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档