2012-08-03 4 views
0

Я новичок в CakePHP, и у меня возникли проблемы, чтобы получить поле отображения ассоциированной модели.Как получить displayField от связанной модели

Моя модель примерно такая: - Вопросы, которые содержат много примечаний. - Notes принадлежит вопросам и пользователям. - Пользователи имеют много примечаний.

Пользователи имеют поле с именем name, которое используется как displayField, когда я просматриваю заметку. Но при рассмотрении метода вопросов я получаю user_id. Есть ли способ получить имя пользователей, связанных с нотами определенного Вопроса?

Заранее спасибо!

ответ

2

Вы можете использовать рекурсивную параметр: cakephp docs

$this->Question->recursive=1; 
$questions=$this->Question->find('all'); 
$this->set(compact('questions')); 

Затем на ваш взгляд:

foreach($question['Note'] as $note) 
     { 
      foreach($note['User'] as $user){ 
      echo $user[name]; 
       } 
      } 

код изм.

+0

спасибо. Отлично, это то, что мне нужно. Я действительно добавляю к использованию recursive = 2 – jplfl

+0

В моем примере есть один цикл usekess. Виды из моего телефона. –

+1

Вам не нужно указывать рекурсивное значение 2, так как у вас есть прямая связь 'Вопросы с hasMany Notes', поэтому' recursive = 1' должно быть достаточно. Не рекомендуется использовать 'recursive = 2', особенно для больших наборов данных, поскольку он медленный из-за большого количества записей, которые извлекаются. –

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