# \[gelöst\] Ältere Version einer Bestellung (Order) abfragen

**URL:** <https://forum.shopware.com/t/gelost-altere-version-einer-bestellung-order-abfragen/71934>\
**Category:** Programmierung\
**Created:** [6. Januar 2021 um 23:17 UTC](https://forum.shopware.com/t/gelost-altere-version-einer-bestellung-order-abfragen/71934 "2021-01-06T23:17:20Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![tawaritsch2](https://avatars.discourse-cdn.com/v4/letter/t/b77776/32.png) [@tawaritsch2](https://forum.shopware.com/u/tawaritsch2)\
**Post date:** [6. Januar 2021 um 23:17 UTC](https://forum.shopware.com/t/gelost-altere-version-einer-bestellung-order-abfragen/71934/1 "2021-01-06T23:17:20Z")

</div>

Hallo zusammen,

bei der Erstellung eines Dokuments im DocumentService wird ja neben der Referenz auf die Order (order\_id) auch die **Order-Version** (order\_version\_id) gespeichert, siehe [https://github.com/shopware/core/blob/master/Checkout/Document/DocumentService.php#L141](https://github.com/shopware/core/blob/master/Checkout/Document/DocumentService.php#L141). Hintergrund ist der Umstand, dass Bestellungen nachbearbeitet werden können und weitere Dokumente (z.B. Gutschriften) erzeugt werden können. An sich ein guter Ansatz.

Wie kann man aber nun die konkrete **Order-Version abfragen**?

Über die Abfrage des DocumentRepository mit entsprechender Assoziation zur Order bzw. mit direkter Abfrage des OrderRepository bekommt man immer nur die aktuellste Version, z. B.:

```
 $criteria = new Criteria(); $criteria-\>addFilter( new MultiFilter(MultiFilter::_CONNECTION\_AND_, [new EqualsFilter('id', $document-\>getOrderId() ), new EqualsFilter('versionId', $document-\>getOrderVersionId() )]) );

 $orderVersions = $orderRepository-\>search($criteria, $context);

```

Gibt es eine Möglichkeit, die Vorgänger einer Entity abzufragen bzw. über das EntityRepository zu laden?

&nbsp;

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![tawaritsch2](https://avatars.discourse-cdn.com/v4/letter/t/b77776/32.png) [@tawaritsch2](https://forum.shopware.com/u/tawaritsch2)\
**Post date:** [7. Januar 2021 um 17:06 UTC](https://forum.shopware.com/t/gelost-altere-version-einer-bestellung-order-abfragen/71934/2 "2021-01-07T17:06:22Z")

</div>

Ich antworte mir mal selber, da es eine indirekte Möglichkeit über das **Version-Repository** gibt. Anhand der Version-ID kann man sich über die Version zum Commit mit dem Commit Data und dem Payload hangeln. Im Payload stehen dann die Versions-Datei.

Schöner wäre freilich das Laden einer Version über das konkrete Entity Repository oder den Version Manager. Vielleicht hat hier noch jemand einen Hinweis.

---

<div class="post-metadata">

**Author:** ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)\
**Post date:** [8. Januar 2021 um 08:07 UTC](https://forum.shopware.com/t/gelost-altere-version-einer-bestellung-order-abfragen/71934/3 "2021-01-08T08:07:42Z")

</div>

Hallo @tawaritsch2‍

der Context hat eine Methode mit der du ein neues Context Objekt erstellen kannst, das dann eine bestimmte Version enthält:&nbsp;\Shopware\Core\Framework\Context::createWithVersionId  
Wenn du dort deine $versionId reinreichst und das resultierende Context-Objekt in das Repo reichst, solltest du die versionierten Daten&nbsp;erhalten.

Viele Grüße aus Schöppingen

![cool](http://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/shopware.png "cool")&nbsp;Michael Telgmann

---

<div class="post-metadata">

**Author:** ![tawaritsch2](https://avatars.discourse-cdn.com/v4/letter/t/b77776/32.png) [@tawaritsch2](https://forum.shopware.com/u/tawaritsch2)\
**Post date:** [8. Januar 2021 um 09:42 UTC](https://forum.shopware.com/t/gelost-altere-version-einer-bestellung-order-abfragen/71934/4 "2021-01-08T09:42:42Z")

</div>

Hervorragend, danke Michael!

Ich hatte schon den Context vermutet, wollte aber per Setter die VersionId bestimmen, was nicht geht. Volltextsuche über die Methodennamen beim nächsten mal…  
PS: Diese tolle Funktion sollte unbedingt in die Dev Docs!

---

<div class="post-metadata">

**Author:** ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)\
**Post date:** [8. Januar 2021 um 09:50 UTC](https://forum.shopware.com/t/gelost-altere-version-einer-bestellung-order-abfragen/71934/5 "2021-01-08T09:50:51Z")

</div>

Da hast du wohl recht&nbsp; ![Smile](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/bac5f5766b6a20565a8fb995345b4e41d24daac0.png "Smile")&nbsp;  
Wenn du magst, kannst du gerne einen PR dafür erstellen&nbsp;[https://github.com/shopware/platform/tree/master/src/Docs/Resources/current](https://github.com/shopware/platform/tree/master/src/Docs/Resources/current)

Viele Grüße aus Schöppingen

![cool](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/86c57fbace799dd4eb1f1b8a2d3bdc1733f0aea1.png "cool")&nbsp;Michael Telgmann
