可包容行为仅在本地有效

Containable behavior only working when local

我遇到了一个非常奇怪的问题。我在本地计算机上使用 XAMPP,一切正常。但是当我将它上传到我的服务器时,突然 ContainableBehavior 停止识别关联。

蛋糕版本:2.5.6

这是 XAMPP 的 phpinfo()http://pastebin.com/DeZWMh42

这是我服务器的 phpinfo()http://pastebin.com/rtZ0kTAM

两个位置都有完全相同的文件和数据库。

这是我遇到的错误:

Warning (512): Model "Certificado" is not associated with model "Usuario" [CORE/Cake/Model/Behavior/ContainableBehavior.php, line 342]

Warning (512): Model "Certificado" is not associated with model "Alumno" [CORE/Cake/Model/Behavior/ContainableBehavior.php, line 342]

Warning (512): Model "Certificado" is not associated with model "Usuario" [CORE/Cake/Model/Behavior/ContainableBehavior.php, line 342]

Warning (512): Model "Certificado" is not associated with model "Alumno" [CORE/Cake/Model/Behavior/ContainableBehavior.php, line 342]

基本上,印象属于Usuario和Certificado,后者也属于Usuario(可能是不同的)和Alumno。显然我删掉了所有不相关的部分(如果您需要更多,请告诉我。)

这是我使用 ContainableBehaviorImpresionController)的地方:
(我在 /impresions/index 上收到错误)

class ImpresionsController extends AppController {
    public $components = array('Paginator');
    public $uses = array('Usuario', 'Alumno', 'Certificado', 'Impresion');

    public function index(){

        $this->paginate = array(
            'limit' => 10,
            'order' => array('fecha_creacion' => 'desc'), 
                'contain'=>array(
                   'Usuario',
                   'Certificado' => array(
                      'Usuario',
                      'Alumno'
                   )
                ),
        );
        $results = $this->paginate('Impresion');
        $this->set('impresiones',$results);
    }
}

在视图中我只使用 foreach($impresiones)

印象模型:

class Impresion extends AppModel {
    public $actsAs = array('Containable');
    public $belongsTo = array(
            'Certificado' => array(
                'className' => 'certificado',
                'foreignKey' => 'certificado_id',
            ),
            'Usuario' => array(
                'className' => 'Usuario',
                'foreignKey' => 'usuario_id',
                'fields' => array('nombre','codigo')
            ),
        );
}

Usuario 的模型:

class Usuario extends AppModel {
    public $hasMany = array('Certificado','Impresion');
    public $actsAs = array('Containable');
}

Certificado 的模型:

class Certificado extends AppModel {
    public $actsAs = array('Containable');
    public $belongsTo = array(
        'Usuario' => array(
            'className' => 'Usuario',
            'foreignKey' => 'usuario_id',
        ),
        'Alumno' => array(
            'className' => 'Alumno',
            'foreignKey' => 'alumno_id',
        )
    );
    public $hasMany = 'Impresion';
}

校友模特:

class Alumno extends AppModel {
        public $actsAs = array('Containable');
        public $hasMany = 'Certificado';
}

本地查询:http://pastebin.com/B5MRp3FS

服务器查询:http://pastebin.com/J2H4U6Ge

我完全迷失在这里。为什么它在我的电脑上运行得很好,但在服务器上就坏了?其他一切正常,只是 ContainableBehavior 有问题。

简直不敢相信

无视一切

这个:

'className' => 'certificado',

应该是这样的:

'className' => 'Certificado',

抱歉浪费你的时间,我是个白痴