Sorry, finally i can solved this. This is my solution :

function paginateSearch($id = array()){
  $list = implode(",",$id);
  $order = 'FIELD(PhotoAlbum.photo_album_id, '.$list.')';
  .....
  .....
  'order' => $order
}

hope this help someone.


On Sat, 2009-04-18 at 00:33 +0700, yodi wrote:
> Hello all,
> 
> I have some ranking system and got some id by rank (not in field but
> processed by script in controller) like this : array('4','2','3'); 
> 
> So, i want paginate this.
> 
> $result = array('4','2','3');
> $this->paginate = $this->Photo->paginateSearch();
> $this->set('photos',this->paginate('PhotoAlbum',array('PhotoAlbum.photo_album_id'=>$result)));
> 
> But it retrieve result :
> photo[2]
> photo[3]
> photo[4] 
> 
> I want it ordered by condition :
> photo[4]
> photo[2]
> photo[3]
> 
> Anyone can help me how to order pagination by condition id? 
> 
> in pure mysql query like this : ORDER BY FIELD( id, 5, 34, 9, 25 )
> 
> Many thanks
> 
> 
> > 


--~--~---------~--~----~------------~-------~--~----~
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