CakePHP将数据快照保存为XML / JSON

时间:2011-07-27 21:47:38

标签: mysql xml database cakephp

我有一个CakePHP / MySQL应用程序,可以在各种表格中存储作业数据。

作业数据用于最终生成报告。但是,我需要实施一种创建报告 版本的方法,以便在作业数据被修改后新的报告 < em> version 已创建。它必须保留所有版本的副本。

我认为我会通过与作业表相关联的报告表来接近这一点,该表采用作业数据的XML快照。每当生成报告时,它都会创建一个新的报告记录,其中包含唯一ID和关联的作业ID以及此时数据的XML“快照”。

这是一种明智的做法吗?我不愿意将xml快照存储为文件,因为将生成数千个报告,并且我希望将数据保持在数据库中。

最后,我如何才能最好地将XML保存到数据库?我正在使用XML Helper生成数据的XML,但无法保存。我确定这是由于生成的XML的大小(我正在测试的作业生成600多行XML,当手动插入数据库时​​,它会以41KiB进行...)。

我是否完全以错误的方式进行此操作?感觉是正确的,因为我需要存储数据的“快照”,然后可以在以后的处理中使用XML Parser。 JSON是否更实用(我对于如何使用JSON数据或者它是否具有结构化......我不是太熟悉了。)

如果有人可以帮我解决这个问题,我将非常感激。


更新:我设法通过在保存功能中生成XML然后将其添加到已保存的$ data数组来保存XML。但它仍然存储起来。有关更有效的方法的任何想法吗?

1 个答案:

答案 0 :(得分:1)

您是否考虑过alkemann的Revision behavior

听起来它可能正在寻找你所需要的东西(不涉及XML)。