5 Stimmen

CakePHP: Suche nach Nachbarn, Reihenfolge nach 'Name' oder 'Reihenfolge'

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 .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X