【发布时间】:2014-04-22 15:28:21
【问题描述】:
我想知道如何存储动态表单中的数据,它可能有 10 个变量或 100 个变量,具体取决于用户,并且仍然利用 Laravel 的关系数据库功能?通常我只会序列化表单,但这似乎会浪费 Laravel 的很多潜力。对此的任何和所有想法将不胜感激!非常感谢你们!
【问题讨论】:
标签: database forms laravel laravel-4
我想知道如何存储动态表单中的数据,它可能有 10 个变量或 100 个变量,具体取决于用户,并且仍然利用 Laravel 的关系数据库功能?通常我只会序列化表单,但这似乎会浪费 Laravel 的很多潜力。对此的任何和所有想法将不胜感激!非常感谢你们!
【问题讨论】:
标签: database forms laravel laravel-4
序列化的几种替代方案:
使用 SQL:使用 JSON 对象。您可以在模型中包含逻辑以 解析/生成该 JSON 对象。例如,
$model->fill(json_decode($jsonified_array, true)) 将允许
雄辩的模型表现得好像它只是抓住了一堆字段
从一张桌子。
使用 NoSQL:您可以尝试类似 MongoDB bundle for Laravel 的方法。 MongoDB 是一种面向文档的 DMS,是关系数据库(例如 作为 SQL)。它更适用于“非结构化”数据,例如什么 你在描述。它与将数据存储在 JSON 对象中极为相似,但采用二进制级别,效率更高。
个人推荐选项#1,因为我通常需要使用关系数据库,但这取决于您的程序要求和您的个人喜好。
【讨论】:
json_encode($_POST) 在表单操作的 PHP 脚本中应该可以解决问题。