1

通过使用 cakephp 框架,我有一个通常的数组结构如下;

$myUsualArray = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

当我使用 PHP 函数内置的 json_encode 对其进行序列化并使用 saveField 函数更新其相应字段时,当我从 DB 中检查时,值如下;

value in DB; "{\"a\":1,\"b\":2,\"c\":3,\"d\":4,\"e\":5}"

在字段更新期间,我只是读取了当前表的 id 并应用了 saveField 函数。

使用:cakephp 2.x

有什么建议么?

4

2 回答 2

0

问题是 JSON 中的斜线。我处理这个问题的方法是使用模型中的beforeSaveafterFind回调方法来进行编码/解码。

beforeSave我做json_encode($array). 在afterFind我做一个preg_replace()清理斜线,然后一个json_decode(). 然后一切都在模型中被干净地处理,我永远不必担心它在其他任何地方。

于 2013-07-29T04:13:02.917 回答
0

通过而不是使用 saveField 函数解决的问题,我用自定义数组值(包括 json_encode 字段)实现了保存函数,然后它正常保存,没有任何斜线等等

于 2013-08-05T12:37:42.580 回答