2013-09-19 3 views
0

У меня возникла проблема, основанная на this вопрос.CakePHP доступ к таблице в hasMany

же DB: Проект имеет много ключевых слов - Ключевое слово принадлежит к проекту
Чтобы получить доступ к Project Table в Keywords/index.ctp легко использовать $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'], что я мог бы ожидать, что это не работает.

+0

Вы хотите все ключевые слова, прикрепленные к проекту? – tigrang

ответ

1

Попробуйте следующий код:

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

это не работает. я ничего не получаю в моем массиве ключевых слов. – CTSchmidt

Смежные вопросы