Add in your Post Model class Post extends AppModel { var $order = 'CategoriesPost.postorder'; }
Anyway I wouldn't do it like so. I would just add an order field on the Post model. It's easier. On Sat, May 15, 2010 at 1:24 AM, ashok.b <email2...@gmail.com> wrote: > > > Hello Cake Gurus, here's my problem: > > Table1: Posts > > id - int > title - varchar > > Table2: Categories > > id - int > name - varchar > > HABTM JoinTable: categories_posts > > id - int > post_id - int > category_id - int > postorder - int > > As you can see, the join table contains a field called 'postorder' - > This is for ordering the posts in a particular category. For example, > > Posts: Post1, Post2, Post3, Post4 > Categories: Cat1, Cat2 > Ordering: > Cat1 - Post1, Post3, Post2 > Cat2 - Post3, Post1, Post4 > > Now in CakePHP, > > $postpages = $this->Post->Category->find('all'); > > gives me a array like > > Array > ( > [0] => Array > ( > [Category] => Array > ( > [id] => 13 > [name] => Cat1 > ) > [Post] => Array > ( > [0] => Array > ( > [id] => 1 > [title] => Post2 > [CategoriesPost] => Array > ( > [id] => 17 > [post_id] => 1 > [category_id] => 13 > [postorder] => 3 > ) > ) > [1] => Array > ( > [id] => 4 > [title] => Post1 > [CategoriesPost] => Array > ( > [id] => 21 > [post_id] => 4 > [category_id] => 13 > [postorder] => 1 > ) > ) > > ) > ) > ) > > As you can see [Post], they are not ordered according to > [CategoriesPost].postorder but are ordered according to > [CategoriesPost].id. How can I get the array ordered according to > [CategoriesPost].postorder? > > The Queries from Cake's SQL Log are: > > SELECT `Category`.`id`, `Category`.`name` FROM `categories` AS > `Category` WHERE 1 = 1 > > SELECT `Post`.`id`, `Post`.`title`, `CategoriesPost`.`id`, > `CategoriesPost`.`post_id`, `CategoriesPost`.`category_id`, > `CategoriesPost`.`postorder` FROM `posts` AS `Post` JOIN > `categories_posts` AS `CategoriesPost` ON > (`CategoriesPost`.`category_id` IN (13, 26, 27, 28, 29, 30, 31, 32, > 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, > 50, 51, 52) AND `CategoriesPost`.`post_id` = `Post`.`id`) > > What I am looking for is how to make cake put a Order By > CategoriesPost.postorder in that second SELECT SQL Query. > > Thanks in advance for your time :) > > 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<cake-php%2bunsubscr...@googlegroups.com>For > more options, visit this group at > http://groups.google.com/group/cake-php?hl=en > -- Bogdan Iulian Bursuc 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