CakePHP:在不同的控制器中使用模型

iam*_*esy 14 php cakephp

我有一个项目的控制器/模型.所以这控制了项目模型等等.我有一个由pages_controller控制的主页.我想在主页上显示项目列表.这样做很简单:

function index() {
    $this->set('projects', $this->Project->find('all'));        
}
Run Code Online (Sandbox Code Playgroud)

我猜不是因为我得到了:

Undefined property: PagesController::$Project
Run Code Online (Sandbox Code Playgroud)

有人可以指引我朝正确的方向,

Jonesy

Tom*_*zyk 57

您必须按变量加载控制器类中的每个模型$uses,例如:

var $uses = array('Project');
Run Code Online (Sandbox Code Playgroud)

或在行动中使用方法

$this->loadModel('Project');
Run Code Online (Sandbox Code Playgroud)

  • 当您在控制器中使用`$ uses`属性时,您还需要指定当前模型,即您在UsersController中并且需要Projects模型,您应该加载两个模型`var $ uses = array('User','Project') ;` (3认同)