我们正在构建的在线应用程序(php 和 mysql)要求用户能够创建自己的数据捕获表单并将此数据记录在数据库中,同时尊重现有的 ORM。
如果表单是“硬编码”的,那么我们将简单地设置数据库表来自己存储规范化数据,但是当我们的用户定义表单中包含的表单字段时,我们不确定什么是最好的方法继续实现此功能。
我们是否需要为我们的数据库考虑某种元数据或数据抽象层? Google 没有提供太多帮助,因为我们不确定我们需要如何解决这个问题。
任何正确方向的指示将不胜感激!
最佳答案
许多内容管理系统以不同的方式解决这个问题。
例如,在 Drupal 中,用户可以通过 CCK module 创建自己的自定义内容(使用自定义表单) .该模块定义了用户可以创建的不同类型的字段,然后生成具有特定数据类型的表来存储数据。
一些提示:
定义您的字段类型 - 考虑让用户选择不同的字段类型(例如,选择框、字符串、单选框)。
为用户定义的字段创建表 - 每个字段类型都有特定的 SQL 数据类型。使用这些数据类型定义一个表。例如,选择框可能映射到枚举,输入文本元素可能映射到 varchar 列。
将数据添加到新表 - 使用新表以某种规范化的方式存储数据。
显然有许多不同的方法,但这只是一些建议。
关于php - 使用 php 和 mysql 的用户可配置表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1771407/