Tengo una lista de artículos pedidos, ordenados según el campo int order
. Estoy creando una galería en CakePHP 1.2 que tiene un botón anterior y siguiente y estos deben enlazar al elemento anterior y siguiente de acuerdo con su orden, no según su id
.CakePHP: buscar vecinos, ordenar en 'nombre' u 'orden'
Para obtener este resultado, he incluido el parámetro 'orden' en la función de búsqueda y lo he completado con 'Item.order'=>'DESC'
. Aún así, el resultado es una lista ordenada id
.
Mi pregunta es: ¿qué hago mal? Mi controlador:
$this->Item->id = 16;
$neighbours = $this->Item->find('neighbors', array('order'=>array('Item.order'=>'DESC'), 'fields'=>array('id','name')));
Solución He intentado un enfoque diferente. Mi código ahora hace el trabajo y se ve de la siguiente manera:
$order = $this->Item->findById(6);
$neighbours = $this->Item->find('neighbors', array('field'=>'order', 'value'=>$order['Item']['order']));
Al establecer el parámetro 'field'
al campo será el campo de ordenación, y establecer el parámetro 'value'
a la el valor del pedido de su artículo actual obtendrá prev
y next
.
¡Eres un salvavidas! – Bagata