Ich habe eine Liste von geordneten Artikeln, die nach dem Feld int geordnet sind order
. Ich erstelle eine Galerie in CakePHP 1.2, die eine prev und nächste Taste hat und die sollte Link zum vorherigen und nächsten Element nach ihrer Bestellung, nicht nach ihrer id
.
Um dieses Ergebnis zu erhalten, habe ich den Parameter "order" in die Suchfunktion aufgenommen und ihn mit 'Item.order'=>'DESC'
. Dennoch ist das Ergebnis ein id
bestellte Liste.
Meine Frage ist: Was mache ich falsch? Mein Controller:
$this->Item->id = 16;
$neighbours = $this->Item->find('neighbors', array(
'order' => array('Item.order'=>'DESC'),
'fields' => array('id','name')
));
Meine Lösung
Ich habe einen anderen Ansatz versucht. Mein Code erfüllt jetzt die Aufgabe und sieht wie folgt aus:
$order = $this->Item->findById(6);
$neighbours = $this->Item->find('neighbors', array(
'field' => 'order',
'value' => $order['Item']['order']
));
Durch die Einstellung des Parameters 'field'
auf das Feld wird das bestellende Feld sein, und setzen Sie die 'value'
auf den Bestellwert des aktuellen Artikels setzen, erhalten Sie die prev
y next
.