Welcome to Cake.

The secret is to (in this order):
1) build your database tables to the conventions (lower case plural table 
names, `id` and `name` fields etc)
2) create indexes and referential integrity in the database
3) build your Cake models - you can use Bake for this as its pretty good, or do 
it yourself
4) learn and implement the Containable behaviour (it's much more powerful, 
controllable and friendly than relying on recursive)

Your Cake models echo the database joins using $belongsTo, $hasMany and 
$hasAndBelongsToMany. So, to use the good old blog model, a Post can have many 
comments ($hasMany), a Comment belongs to a Post ($belongsTo), a Tag has many 
Posts and a Post has many Tags ($hasAndBelongsToMany), and so on. To see your 
Posts with associated Comments and Tags you do this search:

$posts = $this->Post->find(
        'all',
        array(
                'contain' => array(
                        'Comment',
                        'Tag'
                )
        )
);

This will give you an array with an element for each Post, and nested in it an 
array with its Comments and Tags. You can then read these out and display them 
on your index view. To get the count of comments you can either do a count of 
comments from within the array, or use the counterCache function. This adds a 
comment_count field to your posts table and Cake will keep that up to date as 
Comments are added and removed to the database through the website (it can't 
track changes made directly in the database, or course).

Pages that might help:

http://book.cakephp.org/view/903/Model-and-Database-Conventions
http://book.cakephp.org/view/1323/Containable
http://book.cakephp.org/view/1042/belongsTo (has some details on counterCache)


Jeremy Burns
Class Outfit

jeremybu...@classoutfit.com
http://www.classoutfit.com

On 25 Jun 2010, at 12:30, pswiggers wrote:

> Hi,
> 
> I'm new to cakephp , still really a lot to learn about it, but already
> convinced cake is a good thing.
> 
> So this is what I'm struggling with;
> On my website I can list all my posts via the index function ($this-
>> Post->recursive = 0).
> But I've also comments and tags I already want to show on the index;
> meaning number of comments (a count) and a list of tags. I can see
> this data via the view function, but that requires an ID. As I can see
> all data in the view for an ID I assume I build the tables (and
> models) following cakephp convention.
> Long story short:  How could I to use the index but with related
> information or the view but for all posts (not specific ID)?
> 
> 
> Kind regards,
> Patrick
> 
> 
> 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 cake-php@googlegroups.com
> To unsubscribe from this group, send email to
> cake-php+unsubscr...@googlegroups.com For more options, visit this group at 
> http://groups.google.com/group/cake-php?hl=en

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 cake-php@googlegroups.com
To unsubscribe from this group, send email to
cake-php+unsubscr...@googlegroups.com For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en

Reply via email to