【发布时间】:2018-06-06 10:09:21
【问题描述】:
我对框架并不陌生,并且经常使用 Symfony,但是我有一个 CakePHP 2.4 的旧版本,我现在必须维护它并且遇到了问题。我的代码是这样的:
function aff($user=null,$pid=null) {
if (empty($user) || empty($pid)) $this->redirect('/');
$userModel =& ClassRegistry::init('User');
$productModel =& ClassRegistry::init('Product');
$granularModel =& ClassRegistry::init('Granular');
$this->autoRender = false;
$temp = array(
'user' => $user,
'pid' => $pid
);
$granularModel->save($temp);
}
这是我的控制器内部的一个函数。 User 和 Product 模型正在 ClassRegistry::init 中正常工作,但我的 Granular 模型会导致页面加载并显示“在此服务器上未找到请求的地址 XXXX”的消息。这是我的模型:
<?php
class Granular extends AppModel {
var $name = 'Granular';
}
?>
为什么会导致找不到路由?如果我放一个“echo 'Hello'; exit();”就在 $productModel =& ClassRegistry::init('Product'); 行之后它加载路线就好了。我感到失落。请帮忙。 TIA
【问题讨论】:
-
当您在
Granularinit 行之后放置停止会发生什么?您是否测试过触发它的那条线?在任何情况下,启用调试模式并重试,还要检查日志。如果您没有找到任何东西,请连接一个调试器并在该行设置一个断点,然后手动单步执行调用堆栈以了解究竟发生了什么。 -
@ndm 如果我在 Granular 行之后放置一个断点,我会收到找不到路由的 404 错误。在用户和产品行中加载的工作正常。破坏它的是粒度线。我会尝试调试模式。你是怎么设置的?
标签: php database cakephp model