Hace unos días me hicieron esta misma pregunta.
Mauricio recuerda que cuando se hace la paginación esta se efectúa por GET
dado que es su naturaleza por esa razón tus datos se están perdiendo; una
forma de solucionarlo es simplemente guardar las condiciones de tu search
en una variable de sesión; algo como esto podría funcionar (otra posible
solución es transformar tu petición POST a GET después de haberla recibido,
pero primero intenta la solución con la sesión). Saludos.
// START: ALEX / Vamos a checar si ya existen condiciones en la sesión para
usarlas $this->conditions = array();
if($this->Session->check('conditions')){ $this->conditions =
$this->Session->read('conditions'); } // END: ALEX if
($this->request->is('post')) { $data = $this->request->data; // Buscamos
cualquier dato del que dependa nuestra búsqueda $fromDate =
$data['Purchase']['FromDate']; $toDate = $data['Purchase']['ToDate'];
$conditions = "Purchase.date_delivered >= " . "'" . $fromDate . "'" . " AND
Purchase.date_delivered <= " . "'" . $toDate . "'"; $this->conditions =
array ($conditions); // START: ALEX / Guardamos las condiciones en la
sesión $this->Session->write('conditions',$this->conditions); // END: ALEX
// // Aquí hacemos el llamado a paginate()... else { // Pagination request
(GET) $this->Purchase->recursive = 0; $this->paginate['conditions'] =
$this->conditions; // Ahora usamos las condiciones // Aquí hacemos el
llamado a paginate()... }
El 6 de octubre de 2015, 6:49, fredy mauricio Garcia Moná <
[email protected]> escribió:
> buenas estoy haciendo un sistema de reservas, en el cual mando desde un
> formulario en el home los parametros de la busqueda, a la accion search que
> tengo en el controlador page, estos datos los mando por post, necesito
> listarlos paginados en search, pero cuando doy clic a la pagina 2 me sale
> misitio/pages/search/page:2, borrando todos los datos, como puedo darle
> solución a este problema, por cierto estoy validando que cuando llegue la
> busqueda sea por post con un if
>
> --
> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de
> Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus mensajes,
> envía un correo electrónico a [email protected].
> Para publicar en este grupo, envía un correo electrónico a
> [email protected].
> Visita este grupo en http://groups.google.com/group/cakephp-es.
> Para acceder a más opciones, visita https://groups.google.com/d/optout.
>
--
*Alex Arriaga*
*Enterprise Web Developer*
*USA: *+1 (469) 844 9522. Ext. 2248
*MEX: *+52 (81) 8143 1038. Ext. 2248
*Mobile: *+521 (81) 16 87 87 18
*Skype:* alex_arriaga
*Twitter:* alex_arriaga_m
*Website: *http://www.alex-arriaga.com
CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is
for the sole use of the intended recipient(s) and may contain confidential
and privileged information. Any unauthorized review, use, disclosure or
distribution is prohibited. If you are not the intended recipient, please
contact the sender by reply e-mail and destroy all copies of the original
message. In other words, be nice.
--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos
de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía
un correo electrónico a [email protected].
Para publicar una entrada en este grupo, envía un correo electrónico a
[email protected].
Visita este grupo en http://groups.google.com/group/cakephp-es.
Para obtener más opciones, visita https://groups.google.com/d/optout.