Ich muss eine Bestellung in Magento anhand ihrer ID abrufen. Wie lade ich eine bestimmte Bestellung nach ID?
Bisher habe ich die erste Abfrage erstellt:
Mage::getModel('sales/order');
Um eine Bestellung mit einer inkrementellen ID zu laden, würde man folgendes tun:
Mage::getModel('sales/order')->loadByIncrementId('10000001'); //use a real increment order id here
Zum Laden nach Entitäts-ID rufen Sie einfach Folgendes auf load
:
Mage::getModel('sales/order')->load(24999); //use an entity id here
Das Abrufen der Bestelldetails hängt von einigen Komponenten ab:
Laden Sie Ihre Bestellung: (db: sales_flat_order)
Filtern Sie anschließend Ihre Artikelsammlung anhand der Bestellung.
Was die meisten tun werden, ist: (db: sales_flat_order_item)
Welches wird die sichtbaren Produkte zeigen. Das Problem dabei ist, dass es das "konfigurierbare" Element aus der Sammlung erhält (das seltsamerweise die SKU des Kindes im Datensatz hat). Ich halte dies für unvorhersehbar, wenn sich die Artikelnummer ändert, da die historische Artikelnummer nicht mehr vorhanden ist. Stattdessen finde ich es besser, wie folgt einen alternativen Ansatz zu verfolgen.
Durchlaufen Sie die Sammlung der Bestellpositionen
quelle
intval
diegetQtyOrdered
, aber das kann ein Dezimalwert sein :)addAttributeToSelect
. Vielen Dank.