如何在 CakePHP 的组件中使用模型?
在控制器中,您可以使用
public $uses = array(...);
但这在组件中不起作用。
有什么作用?
试试这个代码:
$model = ClassRegistry::init('Yourmodel');
将您的模型简单查询到您的组件中
$result= $model->find('all');
你可以这样做:
$this->ModelName = ClassRegistry::init('ModelName');
但假设您不在组件内部使用模型。
如果您需要当前模型,您可以使用组件的initialize()或startup()回调。
public function initialize(Controller $controller) {
$this->Controller = $controller;
$this->Model = $this->Controller->{$this->Controller->modelClass};
$this->modelAlias = $this->Model->alias;
parent::initialize($controller);
}
现在您可以在组件中的任何位置访问模型。
public function countAllItems() {
return $this->Model->find('count');
}