CakePHP 访问表中的表有很多


CakePHP access the table in hasMany

基于这个问题,我有一个问题。

同一个数据库:项目有很多关键字 - 关键字属于项目
要访问Keywords/index.ctp中的Project Table,请轻松使用$keyword['Project']['id'];

但相反,这似乎有点困难。这里有一个位代码:

public function view($id = null) 
{
    if (!$id) 
    {
        throw new NotFoundException(__('Invalid project'));
    }
    $this->paginate['Project']['conditions'] = array('Project.id' => $id);
    $this->set('projects', $this->paginate());
    $this->set('project', $project);
}

Projects/view我尝试像这样访问关键字表:$project['Keyword']['id']我可能期望的这不起作用。

尝试以下代码:

public function view($id = null) 
{
    if (!$id) 
    {
        throw new NotFoundException(__('Invalid project'));
    }
    $this->Project->bindModel(array('hasMany' => array('Keyword' => array('className' => 'Keyword',
                                                       'foreignKey' => 'project_id')
                                    )), false);
    $this->paginate['conditions'] = array('Project.id' => $id);
    $this->paginate['recursive'] = '2';
    $this->set('projects', $this->paginate('Project'));
    $this->set('project', $project);
}