我有一个拥有很多字段的实体(比如基本信息,联系信息等多个级别的Facebook用户信息)。我想像facebook一样使用它。我的意思是我想要几个标签将相关字段放在那里。最简单的方法是将所有这些存储在一个表中,但它太糟糕了。有没有办法做得更好?我对数据库分层设计有所了解,但有没有办法在symfony 1.4中使用它并使用它的表单创建者?
感谢。
答案 0 :(得分:1)
首先:你在哪里需要帮助?在视图中还是在模型中?
如果你想要它看起来像Facebook,我们正在谈论View。这与Symfony无关,只是HTML(可能有一些CSS / JS)。
如果您正在讨论如何存储此信息:您描述的信息不是“分层的”。层次结构是关于树木和类似的东西,大多数时候具有几乎无限的深度。 在这里,您谈论的是严格的结构(作为开发人员,您确切地知道要渲染哪些字段,并自己定义)。您可以查看实体 - 属性 - 值存储。但要注意:在mySQL中实现这样的功能时,进行“复杂”查询并不容易。 (甚至像以下一样的查询:“列出纽约30岁以上的所有人”,并不容易)。
那你为什么不带一张有很多专栏的桌子呢?没有什么可恶的!作为一个人,你可能在phpMyAdmin中查看这些数据时遇到麻烦,与计算机如何管理这些信息无关;-)。您可以将“用户”模型拆分为单独的“UserProfile”模型(具有一对一关系),这样您就可以轻松地引用其他页面上的用户(您不需要所有配置文件数据)。 / p>
答案 1 :(得分:0)
您可以使用Doctrine Nested集。它基本上是数据库中包含的树结构。我有一个如何使用它的演示,但源代码可能会吓到你。
看看演示,让您了解自己可以做些什么。如果您倾向于此选项,那么您一定要查看我在下面发布的教程链接以开始使用。