# \[API\] Bestellung im Zeitraum laden

**URL:** <https://forum.shopware.com/t/api-bestellung-im-zeitraum-laden/23897>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [1. Dezember 2014 um 12:36 UTC](https://forum.shopware.com/t/api-bestellung-im-zeitraum-laden/23897 "2014-12-01T12:36:02Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![pheidmann-atlantis](https://avatars.discourse-cdn.com/v4/letter/p/87869e/32.png) [@pheidmann-atlantis](https://forum.shopware.com/u/pheidmann-atlantis)\
**Post date:** [1. Dezember 2014 um 12:36 UTC](https://forum.shopware.com/t/api-bestellung-im-zeitraum-laden/23897/1 "2014-12-01T12:36:02Z")

</div>

Ich möchte gerne alle Bestellungen im Zeitraum des letzten Monats auslesen, das ganze über die API (auf die ich lokal zugreife). Bislang habe ich in etwa folgenden Code, der allerdings nicht das gewünschte Ergebnis bringt (keine Bestellungen gefunden): ` $filter = array( array('property' =\> 'orders.orderTime', 'value' =\> date('d.m.Y', $from), 'operator' =\> '\>='), array('property' =\> 'orders.orderTime', 'value' =\> date('d.m.Y', $to), 'operator' =\> '\<=') ); $orderResource = \Shopware\Components\Api\Manager::getResource('Order'); $order = $orderResource-\>getList(0, 100, $filter); ` (mit $from/$to als Unix-Timestamp) Der Code basiert auf dem \Shopware\Controller\Backend\Order Controller und dessen getListAction, da dort beim Aufruf mit den Parametern `filter=[{"property":"from","value":"01.11.2014","operator":null,"expression":null},{"property":"to","value":"30.11.2014","operator":null,"expression":null}]` eben das gewünschte Verhalten erzielt wird.

---

<div class="post-metadata">

**Author:** ![waldicom](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/waldicom/32/12881_2.png) [@waldicom](https://forum.shopware.com/u/waldicom)\
**Post date:** [1. Dezember 2014 um 15:16 UTC](https://forum.shopware.com/t/api-bestellung-im-zeitraum-laden/23897/2 "2014-12-01T15:16:27Z")

</div>

Kann jetzt nicht prüfen, aber vielleicht das Datum im anderen Format? Also “Y-m-d 00:00:00” ?

---

<div class="post-metadata">

**Author:** ![pheidmann-atlantis](https://avatars.discourse-cdn.com/v4/letter/p/87869e/32.png) [@pheidmann-atlantis](https://forum.shopware.com/u/pheidmann-atlantis)\
**Post date:** [1. Dezember 2014 um 16:29 UTC](https://forum.shopware.com/t/api-bestellung-im-zeitraum-laden/23897/3 "2014-12-01T16:29:37Z")

</div>

Vielen Dank @Waldicom, nach \Shopware\Models\Order\Repository-\>filterListQuery muss es wohl ein „Ymd“ sein, quasi also deine Lösung ohne Bindestriche. Ansonsten per Expr-Objekt von Doctrine: ` $tmpFrom = new \DateTime(); $tmpFrom-\>setTimestamp($from); $tmpTo = new \Zend\_Date($to['value']); $tmpTo-\>setHour('23'); $tmpTo-\>setMinute('59'); $tmpTo-\>setSecond('59'); $expr = Shopware()-\>Models()-\>getExpressionBuilder(); $filter = $expr-\>andX( $expr-\>gte('orders.orderTime', $tmpFrom-\>format('Ymd')), $expr-\>lte('orders.orderTime', $tmpTo-\>toString('Ymd')) ); `
