dongye1912 2013-09-19 14:52
浏览 25
已采纳

CakePHP访问hasMany中的表

I have a problem based on this question.

Same DB: Project has many Keywords - Keyword belongs to Project
To access the Project Table in Keywords/index.ctp easily use $keyword['Project']['id'];

But conversely it seems a bit more difficult. Here a bit code:

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);
}

in Projects/view I try to access the Keywords table like that: $project['Keyword']['id'] what I might expected that this isn't working.

  • 写回答

1条回答 默认 最新

  • dougong5285 2013-09-20 09:34
    关注

    Try the following code:

    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);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥50 汇编语言除法溢出问题
  • ¥65 C++实现删除N个数据列表共有的元素
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波