首页 > 解决方案 > 为什么我的 CakePHP 模型不能使用 ClassRegistry::init()?

问题描述

我对框架并不陌生并且经常使用 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

标签: phpdatabasecakephpmodel

解决方案


出于某种原因,今天打开 Configure::write('debug', 1); 在 app/config/core.php 中,它突然开始工作。我猜在这一点上,它一定是某种缓存问题。


推荐阅读