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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 [email protected].
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected].
>>>>> 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 [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected].
>>>> 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 [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> 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 [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> 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 [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> 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 [email protected].
To unsubscribe from this group, send email to
[email protected].
Visit this group at http://groups.google.com/group/cake-php?hl=en.