我正在构建一个网站,需要允许用户能够创建自定义表单。我遇到问题的部分是如何存储这些表单中的数据。由于它们是用户创建的字段,因此数据库中不会有相应的字段。解决这个问题的最佳方法是什么?我认为修改表是不正确的方法。将所有数据放入一个数组中,序列化它,然后将其存储在一个字段中是一个好方法吗?
最佳答案
Would putting all the data into an array, serializing it, and then storing it in a field be a good way?
虽然这会存储数据,但它不会使单个元素可查询。从长远来看,这是一个极其糟糕的想法。
看看entity-attribute-value模型。您应该能够表示表单中的字段,甚至使用由一些严格的外键检查支持的 EAV 填充到表单中的数据。
现在,EAV 并不完美。由于 MySQL 的限制,针对它创建某些查询可能很困难,但这并不是一点外部代码无法解决的。它仍然比序列化数据好十倍。
关于php - 允许创建自定义表单并存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3165732/