0

我目前正在尝试弄清楚如何将索引数组保存到我的数据库中的字段中。也就是说,我知道数组不能保存到数据库中,但是您可以对其进行序列化或内爆,然后保存。我不确定我应该使用哪一个。我不希望将一组项目保存在一个单元格中。我需要将要在列中一一保存的项目列表。所以我的问题是我是否需要使用序列化方法、内爆或其他方法?这是我的代码和我要保存的数组的一瞥。

 public function findPolicyIds($coverageId = null) {
    $policyid = $this->Policy->find('all', array(
        'recursive' => -1,
        'conditions' => array('Policy.coverage_id' => $coverageId),
        'fields' => array('Policy.id')));

        foreach($policyid as $id) {
            $all[] = $id['Policy']['id'];




        }
        return $all;
}


 Array
(
[0] => 5202834f-111c-4a76-8b33-1ed8ae78509d
[1] => 5202834f-2ba8-4957-91db-1ed8ae78509d
[2] => 5202834f-356c-49a1-beeb-1ed8ae78509d
[3] => 5202834f-3b40-453f-a491-1ed8ae78509d
4

1 回答 1

1

这取决于。

这可能是给你最好的答案。

做任何你喜欢的事情,只要它不会在写入和读取之间神奇地破坏数据。

让我花点时间代表您探索一些选项。

  • var_export() - 在安全方面可能不是最好的主意
  • serialize() - 看起来很简单
  • implode() - 看起来很简单
  • json_encode() - 看起来很简单

可能还有其他更模糊的选项可用。如果愿意,您甚至可以使用 XML 构建复杂的数据集。

或者,为什么不规范化模式并添加一个新表来呈现数组数据的集合?标准化往往会在未来拯救你的培根。

于 2013-08-07T18:14:18.027 回答