如何处理CakePHP中的索引未定义错误?

时间:2009-12-08 16:16:02

标签: php cakephp

我有一个与新的CakePHP集成的旧PHP系统。问题是当显示数据时我偶尔会得到索引未定义的错误,这意味着模型与它们应该在哪里无关,因为没有验证。由于模型失去了与模型的关系,因此存在间隙,因此我预期因此会导致索引未定义错误。

如果让我说我无法触及旧的PHP系统,你们认为解决这个问题的最佳方法是什么?

3 个答案:

答案 0 :(得分:1)

在使用可能存在或可能不存在的索引之前,您可以使用if (isset($post['Comment']))样式检查。

答案 1 :(得分:0)

您可以使用模型的afterFind回调来将数据按到正确的形式。

答案 2 :(得分:0)

首先,我认为empty()现在优先于isset(),因为空检查空值,零和空字符串,以及是否设置了某些内容。

其次,如果您的问题与模型有关,那么debug($this->model1->model2)是您最好的朋友。它会告诉你模型是否正确相关(如果一切正常,它应该以粗体表示model2对象,其他任何东西和你的关系都不起作用。)。

如果您无法触摸旧系统,您仍然可以通过为其创建蛋糕模型使其工作并看起来像蛋糕。将模型设置为不使用表,并构建将生成的数组和对象整形为cakephp数组的函数。基本上,为旧功能创建一个蛋糕包装器。您可以使用inflector类来帮助自动化一点

相关问题