【发布时间】:2013-09-04 14:03:11
【问题描述】:
我正在开发 Cake 2.4,如果我在控制器中调试 $this,则 $this->Model 未设置但应该设置。
控制器:CustomersController(.php)
型号:CustomerModel(.php)
由于命名约定是正确的,我不知道问题出在哪里。
相关代码:
Customer.php:
<?php
class Customer extends Shop {
public $validate = array(/* ... */);
protected $_schema = array(/* ... */);
public function beforeSave($options = array()) {
parent::beforeSave($options);
}
}
CustomersController.php:
<?php
App::uses('ShopsController', 'Controller');
class CustomersController extends ShopsController {
public function beforeFilter() {
$this->Auth->allow('login');
parent::beforeFilter();
}
}
【问题讨论】:
-
只需粘贴您为上述文件声明类名的方式
-
如果模型名称遵循约定(控制器名称的单数),则不需要$uses。
-
您的 beforeFilter() 方法有缺陷:您没有调用父级,因此该控制器中不会出现任何其他设置,很可能是 Auth。
标签: php cakephp cakephp-model cakephp-2.4