On 11/30/2010 1:23 PM, Thorpe Obazee wrote:
Hi Everyone,
I had a recent question here regarding Finding records via conditions in habtm. Now, I could search for posts within a category I searched for.
Now, my questions is how to I retrieve the categories of each post if it has two or more categories in this query:
$this->set('posts', $this->Category->find( 'first', array( 'conditions' => array( 'Category.uri' => $uri ), 'contain' => array('Post') ) ));
I'd imagine something like this:
$this->set('posts', $this->Category->find( 'first', array( 'conditions' => array( 'Category.uri' => $uri ), 'contain' => array('Post' => array( 'contain' => 'Category' )) ) ));
Here's what my models look like.
// Category Model class Category extends AppModel { var $name = 'Category'; var $hasAndBelongsToMany = array( 'Post' => array( 'className' => 'Post' ) ); var $actsAs = array('Containable'); } // Post Model class Post extends AppModel { var $name = 'Post'; var $hasAndBelongsToMany = array( 'Category' => array( 'className' => 'Category' ) ); var $actsAs = array('Containable'); var $virtualFields = array( 'date_posted' => 'DATE_SUB(Post.created, INTERVAL 7 DAY)' ); }
A sample data would be like this:
categories id name 1 holidays 2 destinations posts id title 1 I am a post 2 I am another post categories_posts post_id category_id 1 1 2 2 2 1
I am retrieving posts from the Category, 'holidays'.
Array ( [Category] => Array ( [id] => 3 [name] => holidays [uri] => holidays [created] => 2010-11-25 20:43:03 [modified] => 2010-11-25 20:43:03 ) [Post] => Array ( [0] => Array ( [id] => 1 [title] => I am a post ), [1] => Array ( [id] => 2 [title] => I am a another post ) ) )
The problem is that 1 of the posts are in two categories. I'd like to have that information also available so that I can show this in the view
/categories/view/holidaysI am a post categories: holidays, destination I am a body text
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+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en
No comments:
Post a Comment