# Suche nach einer Funktion

**URL:** https://forum.shopware.com/t/suche-nach-einer-funktion/41694
**Category:** Programmierung
**Created:** [24. November 2016 um 15:12 UTC](https://forum.shopware.com/t/suche-nach-einer-funktion/41694 "2016-11-24T15:12:08Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![megadruck](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megadruck](https://forum.shopware.com/u/megadruck)
#### Post date: [24. November 2016 um 15:12 UTC](https://forum.shopware.com/t/suche-nach-einer-funktion/41694/1 "2016-11-24T15:12:08Z")

</div>

Hallo

&nbsp;

Ich suche nach einem einfachen Methodenaufruf, um zu EINER orderID alle Informationen inkl.Postitionen (zzgl. ArtikelStammdaten), Thumbnail und Attribute etc zu erhalten.

&nbsp;

---

<div class="post-metadata">

### Author: ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)
#### Post date: [24. November 2016 um 15:29 UTC](https://forum.shopware.com/t/suche-nach-einer-funktion/41694/2 "2016-11-24T15:29:37Z")

</div>

```
Shopware()->Modules()->sOrder()->getOrderDetailsByOrderId( $orderID )

```

&nbsp;

---

<div class="post-metadata">

### Author: ![megadruck](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megadruck](https://forum.shopware.com/u/megadruck)
#### Post date: [25. November 2016 um 09:47 UTC](https://forum.shopware.com/t/suche-nach-einer-funktion/41694/3 "2016-11-25T09:47:26Z")

</div>

hi

Die liefert nicht all die Informationen wie oben beschrieben

&nbsp;

trotzdem danke

---

<div class="post-metadata">

### Author: ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)
#### Post date: [25. November 2016 um 10:50 UTC](https://forum.shopware.com/t/suche-nach-einer-funktion/41694/4 "2016-11-25T10:50:59Z")

</div>

du bekommst dort doch alle Artikelpositionen und brauchst dann nur noch Artikeldaten abfragen.

```
$order_details = Shopware()->Modules()->sOrder()->getOrderDetailsByOrderId( $orderID );
foreach( $order_details as &$detail )
{
     $detail['sArticle'] = Shopware()->Modules()->Articles()->sGetPromotionById('fix', 0, (string)$detail['articleordernumber']);
}

```

Sei aber vorsichtig damit. Aus alten Bestellung sind die Artikel ggf. gar nicht mehr vorhanden oder im schlimmsten Fall ein anderer Artikel einer alten Artikelnummer zugeordnet. Deshalb gibt es auch keine Funktion, die dir die kompletten Artikeldaten liefert. In den Bestellungen werden nur die wichtigsten Artikeldaten gespeichert.

---

<div class="post-metadata">

### Author: ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)
#### Post date: [26. November 2016 um 09:31 UTC](https://forum.shopware.com/t/suche-nach-einer-funktion/41694/5 "2016-11-26T09:31:37Z")

</div>

Hi,

wie Alex schon beschrieben hat, sind die Infos in den Order-Tabellen theoretisch unabhängig von den Infos in den Artikel-Tabellen. Einfach weil man ja auch Artikel löschen könnte - und alte Bestellungen dann trotzdem noch gültig sein müssen. Der “beste” Weg wäre hier tatsächlich, die gewünschten Artikel-Infos zusätzlich als Attribut an die Bestell-Details zu überführen. Wenn es nur für dich ist und du Artikel nie löscht, sondern nur deaktivierst, ist es sicher auch in Ordnung, einfach die Artikel-Daten zu nehmen.

Aber Vorsicht: Statt über eine Liste von Produkten zu iterieren und jedes einzelnd zu laden, empfehlen wir dringend, die getList-Methode des ListProduct-Services zu nutzen:

```
/** @var ListProductService $productListService */
$productListService = $this->get('shopware_storefront.list_product_service');

/** @var ListProduct[] $products */
$products = $productListService->getList(['sw-555', 'sw-111'], $context);

```

Dadurch kann Shopware alle gewünschten Produktdaten mit einer konstanten Anzahl von Queries laden - das skaliert also mit O(1) statt mit O(x)

Besten Gruß,

Daniel&nbsp;

---

<div class="post-metadata">

### Author: ![megadruck](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megadruck](https://forum.shopware.com/u/megadruck)
#### Post date: [26. November 2016 um 22:17 UTC](https://forum.shopware.com/t/suche-nach-einer-funktion/41694/6 "2016-11-26T22:17:16Z")

</div>

Danke Euch. Ich schau es mir dieser Tage mal genauer an.
