我正在研究一个工作室项目,试图学习使用Symfony2,Doctrine 2.4.7作为ORM和MySql 5.5作为DB的不同方法。我故意将我的问题最小化,以便更好地理解和阅读,如果你需要更多的细节,你只需要问我,如果我的英语不太好就道歉。
为了避免由于我的问题的标题进行大量讨论,让我综合显示一个简单而常见的问题(但对我来说很复杂,因为我是一个新的学说)。
模特:
存储用户数据的User
实体(映射)
Category
实体(映射),用于存储与具有ManyToMany BD的用户关联的某些类别。
每个用户都可以选择一个或多个类别。
问题:
目标:
一些相关参考资料:
可能的解决方案:
CategoryForm
实体,该实体具有检索与该类别相关的表单名称所需的属性(在构建表单时对表单工厂有用),具有关联ManyToMany UD使用类别并存储序列化的LOB(来自表单并与用户相关的数据)。有一种更好的方法可以避免LOB中对象的序列化吗? (也许我错了,但序列化的数据在mysql中无法搜索/索引)
欢迎任何其他解决方案或对可读资源的引用!
答案 0 :(得分:1)
好吧,我会尝试用一个简单的猜测来回答这个问题:这个类别是在几个用户之间共享的东西(因为你有多个用户)。
因此,如果您希望用户的表单能够设置(添加/删除或更新)与用户相关的类别,那么您应该只选择与该类别相关的实体小部件。
我为什么这么说?
由于您的类别链接到多个用户,因此您希望在类别和用户之间处理关系的方式将导致用户表单中现有类别的任何更新传播到其他用户。 这意味着应该通过单个表单创建/更新类别(以您的需求为模)。然后,您可以从用户表单中将类别链接到用户。
就类别的形式数量而言,有几个要处理的参数:
如果我的初步猜测错了,请提供更多详细信息;)