Paul,

Sorry the code I gave earlier is not valid, my mistake...

this is better for that specific:

$posts = $this->paginate('Category');
OR
$posts = $this->paginate($this->Post->Category);

But now you mentioning HABTM which is something different….

So the reason for HABMT is that a single post can belong to multiple categories 
? 

Andras

On Nov 19, 2012, at 3:45 PM, Paul Willis <paul.wil...@me.com> wrote:

> And when I say I can't get it to work it is because using the code from 
> Andras gives the error...
> 
> Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an 
> error in your SQL syntax; check the manual that corresponds to your MySQL 
> server version for the right syntax to use near 'paginate' at line 1
> SQL Query: paginate
> 
> 
> On 19 Nov 2012, at 23:41, Paul Willis <paul.wil...@me.com> wrote:
> 
>> Thanks for the replies but I can't seem to get any solution to work I wonder 
>> if it is because I stupidly missed a vital detail...
>> 
>> My posts and categories are a HABTM relationship so I have no category_id in 
>> the posts table.
>> 
>> I have a posts table, a categories table and a categories_posts table
>> 
>> PW
>> 
>> On 19 Nov 2012, at 22:22, lowpass <zijn.digi...@gmail.com> wrote:
>> 
>>> If your controller already declares a $paginate var it would be better
>>> to add the conditions to it rather than redeclare the entire array.
>>> Also, you can use the Post.category_id in the conditions.
>>> 
>>> $this->paginate['conditions'] = array('Post.category_id' => $id);
>>> 
>>> On Mon, Nov 19, 2012 at 4:15 PM, Andras Kende <and...@kende.com> wrote:
>>>> 
>>>> something like this should work:
>>>> 
>>>>       public function category($id = null) {
>>>>               $this->paginate = array(
>>>>                       'conditions' => array(
>>>>                               'Category.id' => $id
>>>>                       )
>>>>               );
>>>>               $posts = $this->Post->Category->paginate('Category');
>>>>               //print_r($posts);  // to test here ...
>>>>               $this->set(compact('posts'));
>>>>       }
>>>> 
>>>> But since you paginating categories it may be better to do this from the 
>>>> categories controller..
>>>> 
>>>> Andras Kende
>>>> http:///www.kende.com
>>>> 
>>>> On Nov 19, 2012, at 12:57 PM, Paul Willis <paul.wil...@me.com> wrote:
>>>> 
>>>>> In my PostsController.php I have a function to find all the posts from a 
>>>>> category…
>>>>> 
>>>>>     public function category($id = null) {
>>>>>             $this->set('posts', $this->Post->Category->find('first', 
>>>>> array(
>>>>>                     'conditions' => array(
>>>>>                             'Category.id' => $id
>>>>>                     )
>>>>>             )));
>>>>>     }
>>>>> 
>>>>> 
>>>>> This works fine and all my posts for the particular category are returned.
>>>>> 
>>>>> However I obviously get every post in that category and so now I would 
>>>>> like to use paginate but I'm not sure how to add it to the above function.
>>>>> 
>>>>> PW
>>>>> 
>>>>> --
>>>>> Like Us on FaceBook https://www.facebook.com/CakePHP
>>>>> Find us on Twitter http://twitter.com/CakePHP
>>>>> 
>>>>> ---
>>>>> 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.
>>>>> Visit this group at http://groups.google.com/group/cake-php?hl=en.
>>>>> 
>>>>> 
>>>> 
>>>> --
>>>> Like Us on FaceBook https://www.facebook.com/CakePHP
>>>> Find us on Twitter http://twitter.com/CakePHP
>>>> 
>>>> ---
>>>> 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.
>>>> Visit this group at http://groups.google.com/group/cake-php?hl=en.
>>>> 
>>>> 
>>> 
>>> -- 
>>> Like Us on FaceBook https://www.facebook.com/CakePHP
>>> Find us on Twitter http://twitter.com/CakePHP
>>> 
>>> --- 
>>> 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.
>>> Visit this group at http://groups.google.com/group/cake-php?hl=en.
>>> 
>>> 
>> 
>> -- 
>> Like Us on FaceBook https://www.facebook.com/CakePHP
>> Find us on Twitter http://twitter.com/CakePHP
>> 
>> --- 
>> 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.
>> Visit this group at http://groups.google.com/group/cake-php?hl=en.
>> 
>> 
> 
> 
> -- 
> Like Us on FaceBook https://www.facebook.com/CakePHP
> Find us on Twitter http://twitter.com/CakePHP
>  
> --- 
> 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.
> Visit this group at http://groups.google.com/group/cake-php?hl=en.
>  
>  

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
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.
Visit this group at http://groups.google.com/group/cake-php?hl=en.


Reply via email to