# Event für setOrderStatus

**URL:** https://forum.shopware.com/t/event-fur-setorderstatus/28420
**Category:** Shopware 3.5
**Tags:** programming
**Created:** [24. Juni 2015 um 17:56 UTC](https://forum.shopware.com/t/event-fur-setorderstatus/28420 "2015-06-24T17:56:12Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![hbee](https://avatars.discourse-cdn.com/v4/letter/h/f08c70/32.png) [@hbee](https://forum.shopware.com/u/hbee)
#### Post date: [24. Juni 2015 um 17:56 UTC](https://forum.shopware.com/t/event-fur-setorderstatus/28420/1 "2015-06-24T17:56:12Z")

</div>

hi, ich bin auf der Suche nach dem richtigen Event für setOrderStatus momentan habe ich mich auf ‚Shopware\Models\Order\Order::postUpdate‘ registriert. Ich möchte aber nur reagieren wenn sich der Orderstatus ändert. ein Hook auf sOrder::setOrderStatus::after funktioniert irgendwie gar nicht. ` $this-\>subscribeEvent( 'sOrder::setOrderStatus::after', 'onSetOrderStatus' ); [...] $order = $args-\>getSubject(); Shopware()-\>Debuglogger()-\>info('', array('hello')); ` Hat jemand einen Tipp?

---

<div class="post-metadata">

### Author: ![hbee](https://avatars.discourse-cdn.com/v4/letter/h/f08c70/32.png) [@hbee](https://forum.shopware.com/u/hbee)
#### Post date: [24. Juni 2015 um 23:57 UTC](https://forum.shopware.com/t/event-fur-setorderstatus/28420/2 "2015-06-24T23:57:19Z")

</div>

so, ich habe jetzt versucht über getHistory() an die History ranzukommen. Das scheint auch zugehen aber leider komme ich dann nicht an getPreviousOrderStatus() dran. [quote]Fatal error: Call to undefined method Doctrine\ORM\PersistentCollection::getPreviousOrderStatus()[/quote] Wie kann ich prüfen ob der Status geändert wurde? ` $model = $args-\>get('entity'); // Bestellung selbst (das Model) $orderId = $model-\>getId(); //Bestellungs ID $orderStatus = $model-\>getOrderStatus()-\>getId(); // aktueller Bestell Status $orderHistory = $model-\>getHistory()-\>getPreviousOrderStatus(); // vorheriger bestell Status ? Shopware()-\>Pluginlogger()-\>info('', array($orderHistory)); `

---

<div class="post-metadata">

### Author: ![hbee](https://avatars.discourse-cdn.com/v4/letter/h/f08c70/32.png) [@hbee](https://forum.shopware.com/u/hbee)
#### Post date: [25. Juni 2015 um 11:04 UTC](https://forum.shopware.com/t/event-fur-setorderstatus/28420/3 "2015-06-25T11:04:06Z")

</div>

ok, ich mache jetzt einfach eine Abfrage auf s\_order\_history und prüfe ob sich die Status-Id geändert hat.

---

<div class="post-metadata">

### Author: ![Micru](https://avatars.discourse-cdn.com/v4/letter/m/3bc359/32.png) [@Micru](https://forum.shopware.com/u/Micru)
#### Post date: [26. Juni 2015 um 13:41 UTC](https://forum.shopware.com/t/event-fur-setorderstatus/28420/4 "2015-06-26T13:41:09Z")

</div>

Hi, die History ist eine Collection. Wenn du dir aus dieser Collection zunächst den letzten Eintrag holst, kannst du den vorherigen Status abfragen. `$model-\>getHistory()-\>last()-\>getPreviousOrderStatus();`
