Cakephp 1.3: отображение пользовательских данных в постраничных комментариях - PullRequest
0 голосов
/ 22 октября 2011

Еще один довольно простой вопрос, я полагаю, но я чувствую, что бегаю кругами и без идей, хаха.

Я пытаюсь создать систему комментирования с нумерацией страниц (через Ajax), которая должна отображать имя, аватар и т. Д. Пользователя, написавшего конкретный комментарий. Звучит достаточно просто, верно?

Ну, все работает отлично, за исключением того, что я просто не смог найти способ получить информацию о соответствующих пользователях и не нашел ничего полезного в документации.

Вот мой код пагинации:

$this->paginate['Comment'] = array(
    'conditions'=>array('Entry.id'=>$id),
    'contain' => array('Entry', 'User'=>array('avatar', 'username') ),
    'limit' => 10
);
$comments = $this->paginate('Comment');
$this->set(compact('comments'));

Итак, я использовал для получения данных о модели пользователя данные, которые я пытаюсь отобразить в своем виде следующим образом:

echo $comment['User']['username'];
echo $comment['User']['avatar'];

Но таким образом, он, конечно, отображает информацию о пользователе, соответствующую $ id ...

Однако мне нужно получить информацию о пользователях через Foreignkey user_id текущего комментария. И в данный момент я не знаю, как это сделать ... Любая помощь будет принята с благодарностью. Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 23 октября 2011

Хорошо, я решил это ...

Мне просто нужно было добавить правильный foreignKey к моей модели комментариев, т.е.:

var $belongsTo = array(
'Entry' => array('className' => 'Entry', 'foreignKey' => 'page_id'),
'User' => array('className' => 'User', 'foreignKey' => 'user_id'),
);

Теперь он, наконец, получает соответствующую информацию о пользователе!

0 голосов
/ 23 октября 2011

если я правильно помню

'contain' => array('Entry', 'User.avatar,User.username')),

должен сделать трюк

...