извлекать данные из связанной таблицы в цикле, который восстанавливает другие данные из другой таблицы - PullRequest
0 голосов
/ 06 февраля 2012

Я новичок в cakephp .. извините, если мой вопрос кажется базовым .. У меня есть модели: пользователь, публикация, комментарий, все связанные и мне нужно показать комментарии к просмотру поста .... но также хочу показатьимя пользователя и я не могу получить доступ к этому полю модели пользователя.У меня есть user_id и post_id в модели comment.php и user_id в модели post.php, но внутри цикла как я могу получить доступ к полю имени пользователя модели пользователя ??

У меня это на ... posts /view.ctp

    <?php foreach ($post['Comment'] as $comment): ?>            
    <tr<?php echo $class;?>>

    // this does not work
    // echo $comment['user_id']['username'];

    <td><?php echo $comment['user_id']; ?>   
    </td>

    </tr>
    <tr>
        <td><?php echo $comment['created'];?></td>
        <td></td>
    </tr>
    <tr>
    <td><?php echo $comment['content'];?></td>
    </tr>
    <?php endforeach; ?>
    </table>

тогда как я могу это исправить ??спасибо ...

Ответы [ 2 ]

0 голосов
/ 07 февраля 2012

Вы установили аутентификацию в любом из ваших контроллеров? Если нет, добавьте его в свои контроллеры и попробуйте использовать
$this->Auth->user('username');, который даст вам текущее имя пользователя в любом месте вашего контроллера. Вы можете использовать его в своем контроллере.посмотреть как это

$ this-> Session-> read ('Auth.User.username')

// возвращая определенное значение поля, вы можете получить всеот вас Таблица пользователей в любом контроллере Узнайте больше об Aut компоненте здесь

Я могу сделать мой ответ лучше, если вы можете написать, как вы кодировали свой контроллер ....и передать точные ошибки, которые прервал ваш проект ..

0 голосов
/ 07 февраля 2012

решил проблему .... самый распространенный способ проб и ошибок .. как это исправить было ..

  $this->Post->recursive = 2; //in posts_controller.php

а потом ...

 <?php foreach ($post['Comment'] as $comment): ?>            
 <tr<?php echo $class;?>>
 <!-- this is the way to access -->
 <td><?php echo $comment['User']['username']; ?></td>
 .......
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...