我有一个订购项目列表,根据 int 字段排序order
。我在 CakePHP 1.2 中创建了一个画廊,它有一个上一个和下一个按钮,这些应该根据它们的顺序链接到上一个和下一个项目,而不是根据他们的id
.
为了得到这个结果,我在 find 函数中包含了 'order' 参数,并用'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'
为字段将是 ordering 字段,并将'value'
参数设置为您当前 Item 的 order 值,您将获得prev
and next
。