У меня есть список заказанных товаров, упорядоченных в соответствии с полем int order
.
Я создаю галерею в CakePHP 1.2, в которой есть кнопки «предыдущий» и «следующий», и они должны ссылаться на предыдущий и следующий элемент в соответствии с их порядком, а не с их id
.
Чтобы получить этот результат, я включил параметр 'order' в функцию find и наполнил его 'Item.order'=>'DESC'
. Тем не менее, результат - id
упорядоченный список.
Мой вопрос: что я делаю не так?
Мой контроллер:
$this->Item->id = 16;
$neighbours = $this->Item->find('neighbors', array(
'order' => array('Item.order'=>'DESC'),
'fields' => array('id','name')
));
Мое решение
Я пробовал другой подход. Мой код теперь выполняет свою работу и выглядит следующим образом:
$order = $this->Item->findById(6);
$neighbours = $this->Item->find('neighbors', array(
'field' => 'order',
'value' => $order['Item']['order']
));
При установке параметра 'field'
в поле будет поле упорядочения, а в параметре 'value'
указывается значение заказа текущего элемента, вы получите prev
и next
.