Frage

Ich stoße auf ein Problem, weil ich sicher bin, dass ich das mit meiner Programmierung nicht richtig mache.
Ich habe ein benutzerdefiniertes Modell in Magento erstellt.
In der Datenbanktabelle meines Modells gibt es mehrere Entitäten mit denselben Attributen ...
Ich muss nur eine von all diesen Entitäten mit dem gleichen Attribut wie ich auswählen.
Im Moment habe ich das getan:

$myvariable = Mage::getModel('test/test')->getCollection()
->setOrder('idserialkeys', 'asc')
->addFilter('idproduit', 1)
->addFilter('utilise', 0)
->addFilter('customerid', 0)
->addFilter('numcommande', 0)

Aus diesem Laden habe ich rund hundert Ergebnisse, aber ich muss nur eines davon aktualisieren, also kurz nachdem ich es getan habe:

->setPageSize(1);

Das Problem ist, dass ich eine brauche foreach Nachdem ich meine Entität aktualisiere

foreach($mavaribale as $modifiemoi) {
    // Update of my entity because of course there is only one 
}

Wie Sie sehen, bin ich verpflichtet, (für jeden) eine Schleife zu machen, auch wenn ich eine habe setPagesize... Ich möchte diese dumme Schleife vermeiden, um meinen Code zu optimieren.

Vielen Dank für Ihre Vorschläge und einen schönen Tag.

Anselme

War es hilfreich?

Lösung

Wenn Sie eine Sammlung haben und nur ein Element benötigen, verwenden Sie das getFirstItem Methode. Versuche dies:

$modifiemoi = $myvariable->getFirstItem();

Stellen Sie sicher, dass Sie auch Ihre verwenden setPageSize Rufen Sie an, damit Sie nur Daten für einen Element übertragen.

Ich hoffe, das hilft!

Danke, Joe

Andere Tipps

Alle Sammlungen sind Varien_Data_Collection Objekte, damit Sie verwenden können getFirstItem:

$modifiemoi = $mavaribale->getFirstItem();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top