我有一个与新的CakePHP集成的旧PHP系统。问题是当显示数据时我偶尔会得到索引未定义的错误,这意味着模型与它们应该在哪里无关,因为没有验证。由于模型失去了与模型的关系,因此存在间隙,因此我预期因此会导致索引未定义错误。
如果让我说我无法触及旧的PHP系统,你们认为解决这个问题的最佳方法是什么?
答案 0 :(得分:1)
在使用可能存在或可能不存在的索引之前,您可以使用if (isset($post['Comment']))
样式检查。
答案 1 :(得分:0)
您可以使用模型的afterFind回调来将数据按到正确的形式。
答案 2 :(得分:0)
首先,我认为empty()
现在优先于isset()
,因为空检查空值,零和空字符串,以及是否设置了某些内容。
其次,如果您的问题与模型有关,那么debug($this->model1->model2)
是您最好的朋友。它会告诉你模型是否正确相关(如果一切正常,它应该以粗体表示model2对象,其他任何东西和你的关系都不起作用。)。
如果您无法触摸旧系统,您仍然可以通过为其创建蛋糕模型使其工作并看起来像蛋糕。将模型设置为不使用表,并构建将生成的数组和对象整形为cakephp数组的函数。基本上,为旧功能创建一个蛋糕包装器。您可以使用inflector类来帮助自动化一点