# QueryBuilder Result erhalten

**URL:** <https://forum.shopware.com/t/querybuilder-result-erhalten/29600>\
**Category:** Programmierung\
**Created:** [13. August 2015 um 12:47 UTC](https://forum.shopware.com/t/querybuilder-result-erhalten/29600 "2015-08-13T12:47:25Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![DenKon26](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@DenKon26](https://forum.shopware.com/u/DenKon26)\
**Post date:** [13. August 2015 um 12:47 UTC](https://forum.shopware.com/t/querybuilder-result-erhalten/29600/1 "2015-08-13T12:47:25Z")

</div>

Hallo! Möchte ein paar Daten aus der Datenbank des lokalen Shops raussuchen und bin daher gerade am testen des QueryBuilders. Ich habe bereits folgenden Code: ` $builder = Shopware()-\>Models()-\>createQueryBuilder(); $builder-\>select(array('name', 'description')) -\>from('Shopware\Models\Article\Article', 'article'); ` Da macht er keine Probleme. Will ich nun aber das Result haben und füge folgendes hinzu: ` $result = $builder-\>getQuery()-\>getArrayResult(); ` Dann stürzt der Shop ab mit ‘Ups ein Fehler ist aufgetreten’

---

<div class="post-metadata">

**Author:** ![ksk](https://avatars.discourse-cdn.com/v4/letter/k/ac8455/32.png) [@ksk](https://forum.shopware.com/u/ksk)\
**Post date:** [30. September 2015 um 13:05 UTC](https://forum.shopware.com/t/querybuilder-result-erhalten/29600/2 "2015-09-30T13:05:53Z")

</div>

Hallo! ich habe gerade das gleiche Problem, konntest Du das lösen?

---

<div class="post-metadata">

**Author:** ![Patrick\_Stahl](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/patrick_stahl/32/7679_2.png) [@Patrick\_Stahl](https://forum.shopware.com/u/Patrick_Stahl)\
**Post date:** [30. September 2015 um 13:21 UTC](https://forum.shopware.com/t/querybuilder-result-erhalten/29600/3 "2015-09-30T13:21:04Z")

</div>

Hallo DenKon26, versuch’ es doch einmal mit folgendem Code-Schnipsel: ` $builder = Shopware()-\>Models()-\>createQueryBuilder(); $builder-\>select(array('article.name', 'article.description')) -\>from('Shopware\Models\Article\Article', 'article'); $result = $builder-\>getQuery()-\>getArrayResult(); ` Dann dürfte das auch soweit klappen. 🙂 Gruß, Patrick :shopware:

---

<div class="post-metadata">

**Author:** ![ksk](https://avatars.discourse-cdn.com/v4/letter/k/ac8455/32.png) [@ksk](https://forum.shopware.com/u/ksk)\
**Post date:** [30. September 2015 um 13:42 UTC](https://forum.shopware.com/t/querybuilder-result-erhalten/29600/4 "2015-09-30T13:42:50Z")

</div>

Hallo Patrick, ich versuche mich gerade an einem eigenen Plugin und habe auch das Problem mit dem Ausführen des Querys. Der Shop sagt “Ups! Ein Fehler ist aufgetreten!”. Mein Code sieht so aus, ich erkenne keinen Fehler. Ich übergebe die Ordernumber z.B. 259.0219.00 um alle Details zu erhalten. ` private function getArticleDetails($ordernumber) { $builder2 = Shopware()-\>Models()-\>createQueryBuilder(); //set sql selection object $builder2-\>select(array('details')); //add the from paths of the query $builder2-\>from('Shopware\Models\Article\Detail', 'details'); //add conditions for an active and valid article. $builder2-\>where('details.ordernumber = :ordernumber'); $builder2-\>andWhere('details.active = :active'); $builder2-\>andWhere('details.inStock \>= :inStock'); $builder2-\>setParameters(array('ordernumber' =\> $ordernumber, 'active' =\> true, 'inStock' =\> 0)); //return the query result as array return $builder2-\>getQuery()-\>getArrayResult(); } `

---

<div class="post-metadata">

**Author:** ![Patrick\_Stahl](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/patrick_stahl/32/7679_2.png) [@Patrick\_Stahl](https://forum.shopware.com/u/Patrick_Stahl)\
**Post date:** [30. September 2015 um 14:19 UTC](https://forum.shopware.com/t/querybuilder-result-erhalten/29600/5 "2015-09-30T14:19:27Z")

</div>

Hallo ksk, du darfst dich bei deinen Where-Bedingungen nicht auf den Namen einer Spalte in der Datenbank verlassen, sondern musst dich am Doctrine-Model orientieren. Das heißt: ` $builder2-\>where('details.ordernumber = :ordernumber'); ` ist falsch, da die Datenbank-Spalte zwar wirklich „ordernumber“ heißt, im Doctrine-Model jedoch nur „number“ genannt wurde. Du musst dich da wirklich an dem Doctrine-Model orientieren, um die korrekten Namen/Felder zu finden. Das hast du beim inStock ja auch schon richtig gemacht. 🙂 Richtig wäre also: ` $builder2-\>where('details.number = :ordernumber'); ` Hilft dir das weiter? Gruß, Patrick :shopware:

---

<div class="post-metadata">

**Author:** ![ksk](https://avatars.discourse-cdn.com/v4/letter/k/ac8455/32.png) [@ksk](https://forum.shopware.com/u/ksk)\
**Post date:** [30. September 2015 um 15:03 UTC](https://forum.shopware.com/t/querybuilder-result-erhalten/29600/6 "2015-09-30T15:03:43Z")

</div>

Hallo Patrick! :thumbup: Super, läuft! Du bist mein heutiger Held! Werde mir die Doctrine-Models genauer ansehen. Danke! Gruß ksk

---

<div class="post-metadata">

**Author:** ![ksk](https://avatars.discourse-cdn.com/v4/letter/k/ac8455/32.png) [@ksk](https://forum.shopware.com/u/ksk)\
**Post date:** [1. Oktober 2015 um 10:00 UTC](https://forum.shopware.com/t/querybuilder-result-erhalten/29600/7 "2015-10-01T10:00:36Z")

</div>

😉 Sorry hatte nur nen Smarty-Problem!

---

<div class="post-metadata">

**Author:** ![GeneralError](https://avatars.discourse-cdn.com/v4/letter/g/7bcc69/32.png) [@GeneralError](https://forum.shopware.com/u/GeneralError)\
**Post date:** [2. Oktober 2015 um 13:32 UTC](https://forum.shopware.com/t/querybuilder-result-erhalten/29600/8 "2015-10-02T13:32:15Z")

</div>

[quote]da die Datenbank-Spalte zwar wirklich “ordernumber” heißt, im Doctrine-Model jedoch nur “number” genannt wurde[/quote] …einmal mit profis arbeiten -.-
