On Wed, Dec 8, 2010 at 6:35 PM, Steve Mallett <[email protected]> wrote:
> Hi,  I have three tables. Users, Posts & Comments.
>
> In view.ctp, below, how do I display the username of the user who made
> each comment?  The Comments table tracks user_id.
>
>
> controllers/posts_controller.php:
> function view($id = null) {
>                $this->set('post', $this->Post->read(null, $id));
>        }
>
>
> views/posts/view.ctp:
> <?php
>  // echo post content
>  echo Sanitize::html($post['Post']['body']);
> ?>
>
> <?php foreach ($post['Comment'] as $comment): ?>
>  <?php
>  // echo comment
>  echo $comment['content'];?>
> <?php endforeach; ?>

In your view add debug($post) somewhere (make sure debug is set to 2
in core.php). Unless you specifically set recursive to something low,
that should include the User record, which you'd get from
$post['User']['column_name']. It'll also contain all the Comment
records. If that's overkill you can always use ContainableBehavior to
get just what you need.

A tip: I generally set my main data view variable as $data instead of,
eg. $post. It seems redundant to name it after the main model, and
cleaner to set it to something neutral. The only thing is you need to
be careful of whether you want $data or $this->data. Not a big thing,
and definitely a matter of taste.

Check out the new CakePHP Questions site http://cakeqs.org and help others with 
their CakePHP related questions.

You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en

Reply via email to